{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2016-08-17T07:58:06.468311",
     "start_time": "2016-08-17T07:58:04.883583"
    },
    "autoscroll": "json-false",
    "collapsed": false,
    "ein.tags": [
     "worksheet-0"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The autoreload extension is already loaded. To reload it, use:\n",
      "  %reload_ext autoreload\n"
     ]
    }
   ],
   "source": [
    "%load_ext autoreload\n",
    "%autoreload 2\n",
    "\n",
    "import sys \n",
    "from os import getcwd, path\n",
    "sys.path.append(path.dirname(getcwd()))\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sb\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import pprint\n",
    "from cohorts.functions import missense_snv_count\n",
    "import lifelines as ll\n",
    "import patsy\n",
    "import functools\n",
    "import survivalstan\n",
    "from stancache import stancache, config\n",
    "import os\n",
    "from cohorts.utils import strip_column_names\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:root:Setting CACHE_DIR = /mnt/checkpoint-trials/bladder/stancache\n"
     ]
    }
   ],
   "source": [
    "sample_file_dir = '/mnt/checkpoint-trials/bladder/stan_sample_files'\n",
    "config.set_value(CACHE_DIR='/mnt/checkpoint-trials/bladder/stancache')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "## set seeds for stan & rngs, to aid in reproducibility\n",
    "## (note: only reproducible within a machine, not across machines)\n",
    "\n",
    "seed = 91038753\n",
    "import random\n",
    "random.seed(seed)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2016-08-17T07:58:06.519332",
     "start_time": "2016-08-17T07:58:06.499244"
    },
    "autoscroll": "json-false",
    "collapsed": false,
    "ein.tags": [
     "worksheet-0"
    ]
   },
   "outputs": [],
   "source": [
    "from utils import data\n",
    "from utils import paper\n",
    "from utils.extra_functions import *\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# prep data "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## load data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2016-08-17T07:58:11.840853",
     "start_time": "2016-08-17T07:58:06.520959"
    },
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with ensembl_coverage: 25 to 25 rows\n",
      "inner join with tcr_peripheral_a: 25 to 25 rows\n",
      "inner join with ensembl_coverage: 25 to 25 rows\n",
      "inner join with tcr_peripheral_a: 25 to 25 rows\n",
      "{'dataframe_hash': -7522244498661454348,\n",
      " 'provenance_file_summary': {u'cohorts': u'0.4.2',\n",
      "                             u'isovar': u'0.0.6',\n",
      "                             u'mhctools': u'0.3.1',\n",
      "                             u'numpy': u'1.11.2',\n",
      "                             u'pandas': u'0.19.2',\n",
      "                             u'pyensembl': u'1.0.3',\n",
      "                             u'scipy': u'0.18.1',\n",
      "                             u'topiary': u'0.1.0',\n",
      "                             u'varcode': u'0.5.11'}}\n"
     ]
    }
   ],
   "source": [
    "cohort = data.init_cohort(join_with=[\"ensembl_coverage\",\"tcr_peripheral_a\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2016-08-17T07:59:21.487992",
     "start_time": "2016-08-17T07:58:11.931783"
    },
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with ensembl_coverage: 25 to 25 rows\n",
      "inner join with tcr_peripheral_a: 25 to 25 rows\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:pyensembl.sequence_data:Loaded sequence dictionary from /home/jacquelineburos/.cache/pyensembl/GRCh37/ensembl75/Homo_sapiens.GRCh37.75.pep.all.fa.gz.pickle\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with ensembl_coverage: 25 to 25 rows\n"
     ]
    }
   ],
   "source": [
    "def tcell_fraction(row):\n",
    "    return row[\"T-cell fraction\"]\n",
    "\n",
    "def peripheral_clonality_a(row):\n",
    "    return row['Clonality']\n",
    "\n",
    "cols, d = cohort.as_dataframe([missense_snv_count,\n",
    "                               peripheral_clonality_a,\n",
    "                               tcell_fraction,\n",
    "                               ],\n",
    "                              rename_cols=True,\n",
    "                              return_cols=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2016-08-17T07:59:21.537104",
     "start_time": "2016-08-17T07:59:21.513702"
    },
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['missense_snv_count', 'peripheral_clonality_a', 'tcell_fraction']"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cols"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "DCB\n"
     ]
    }
   ],
   "source": [
    "# confirm benefit & benefit-os names\n",
    "print(cohort.benefit_plot_name)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## construct/rescale variables"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2016-08-17T07:59:22.132709",
     "start_time": "2016-08-17T07:59:22.081884"
    },
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "## create 'observed', log-transformed & centered versions of variables (not normalized by MB)\n",
    "for col in cols:\n",
    "    observed_col = 'observed_{}'.format(col)\n",
    "    log_col = 'log_{}'.format(col)\n",
    "    log_col_centered = 'log_{}_centered'.format(col)\n",
    "    log_col_rescaled = 'log_{}_rescaled'.format(col)\n",
    "    d[observed_col] = d[col]*d['mb']\n",
    "    d[log_col] = np.log1p(d[observed_col])\n",
    "    d[log_col_centered] = d[log_col] - np.mean(d[log_col])\n",
    "    d[log_col_rescaled] = d[log_col_centered]/np.std(d[log_col_centered])\n",
    "\n",
    "## save key vars in list for future use\n",
    "vars_centered = ['log_{}_centered'.format(col) for col in cols]\n",
    "vars_rescaled = ['log_{}_rescaled'.format(col) for col in cols]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## center variables by mean within PD-L1 group"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2016-08-17T07:59:22.220909",
     "start_time": "2016-08-17T07:59:22.199735"
    },
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "## identify list of variables to center\n",
    "metrics = list(cols)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "metrics2 = list(metrics)\n",
    "metrics2.extend(['pd_l1'])\n",
    "assert(not 'pd_l1' in metrics)\n",
    "log_metrics2 = ['log_{}'.format(var) for var in metrics2]\n",
    "metrics2.extend(log_metrics2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2016-08-17T07:59:22.242582",
     "start_time": "2016-08-17T07:59:22.222780"
    },
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "grp_metrics = [var for var in metrics2 if var in d.columns]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2016-08-17T07:59:22.275217",
     "start_time": "2016-08-17T07:59:22.244289"
    },
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# center variables by group\n",
    "bygrp = d.loc[:, grp_metrics]\n",
    "bygrp = bygrp.groupby('pd_l1').transform(lambda x: x - x.mean())\n",
    "bygrp['patient_id'] = d.patient_id"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2016-08-17T07:59:22.301832",
     "start_time": "2016-08-17T07:59:22.276693"
    },
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# merge recentered variables back into original dataframe\n",
    "df = pd.merge(d, bygrp, on = 'patient_id', suffixes = ['', '_centered_by_pd_l1'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# prep survival data in long format"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2016-08-17T07:59:22.420738",
     "start_time": "2016-08-17T07:59:22.356618"
    },
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "## prep dflong_pfs which will be used for survival analysis using stan\n",
    "df_long_pfs = survivalstan.prep_data_long_surv(df = df,\n",
    "                                               event_col = 'is_progressed_or_deceased',\n",
    "                                               time_col = 'pfs')\n",
    "df_long_os = survivalstan.prep_data_long_surv(df = df,\n",
    "                                               event_col = 'is_deceased',\n",
    "                                               time_col = 'os')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# multivariate analysis using varying-coef model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2016-08-17T08:27:09.524216",
     "start_time": "2016-08-17T08:27:09.501719"
    },
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "../utils/stan/pem_survival_model_randomwalk_alt.stan\n",
      "../utils/stan/pem_survival_model_varying_coefs2.stan\n",
      "../utils/stan/pem_survival_model_randomwalk_custom_coefs_missense_and_neoant_rates.stan\n",
      "../utils/stan/pem_survival_model_randomwalk_custom_coefs_expressed_missense_and_neoant_mutations.stan\n",
      "../utils/stan/logistic_model_by_group.stan\n",
      "../utils/stan/pem_survival_model_varying_coefs4.stan\n",
      "../utils/stan/pem_survival_model_randomwalk_bspline2.stan\n",
      "../utils/stan/pem_survival_model_randomwalk2.stan\n",
      "../utils/stan/pem_survival_model_randomwalk_tvc2.stan\n",
      "../utils/stan/pem_survival_model_randomwalk_bspline.stan\n",
      "../utils/stan/pem_survival_model_varying_coefs3.stan\n",
      "../utils/stan/pem_survival_model_randomwalk.stan\n",
      "../utils/stan/pem_survival_model_gamma.stan\n",
      "../utils/stan/pem_survival_model_randomwalk_bspline_est_xi.stan\n",
      "../utils/stan/pem_survival_model_unstructured_varcoef_hsprior.stan\n",
      "../utils/stan/pem_survival_model_unstructured_varcoef.stan\n",
      "../utils/stan/pem_survival_model_randomwalk_tvc.stan\n",
      "../utils/stan/logistic_model.stan\n",
      "../utils/stan/pem_survival_model_randomwalk_custom_coefs_rate_only.stan\n",
      "../utils/stan/pem_survival_model_randomwalk_bspline_est_xi2.stan\n"
     ]
    }
   ],
   "source": [
    "models = survivalstan.utils.read_files('../utils/stan')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "survstan_pfs_varcoef = functools.partial(\n",
    "    survivalstan.fit_stan_survival_model,\n",
    "    df = df_long_pfs,\n",
    "    model_code = models['pem_survival_model_unstructured_varcoef.stan'],\n",
    "    timepoint_end_col = 'end_time',\n",
    "    event_col = 'end_failure',\n",
    "    sample_col = 'patient_id',\n",
    "    chains = 4,\n",
    "    iter = 10000,\n",
    "    FIT_FUN = stancache.cached_stan_fit,\n",
    "    grp_coef_type = 'vector-of-vectors',\n",
    "    seed = seed,\n",
    "    control=dict(adapt_delta=0.9)\n",
    "    )\n",
    "survstan_os_varcoef = functools.partial(\n",
    "    survivalstan.fit_stan_survival_model,\n",
    "    df = df_long_os,\n",
    "    model_code = models['pem_survival_model_unstructured_varcoef.stan'],\n",
    "    timepoint_end_col = 'end_time',\n",
    "    event_col = 'end_failure',\n",
    "    sample_col = 'patient_id',\n",
    "    chains = 4,\n",
    "    iter = 10000,\n",
    "    FIT_FUN = stancache.cached_stan_fit,\n",
    "    grp_coef_type = 'vector-of-vectors',\n",
    "    seed = seed,\n",
    "    control=dict(adapt_delta=0.9)\n",
    "    )\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## varying-coef model for peripheral TCR clonality at timepoint A by pd-l1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:stancache.stancache:Step 1: Get compiled model code, possibly from cache\n",
      "INFO:stancache.stancache:StanModel: cache_filename set to anon_model.cython_0_25_2.model_code_9571340839314917516.pystan_2_14_0_0.stanmodel.pkl\n",
      "INFO:stancache.stancache:StanModel: Loading result from cache\n",
      "INFO:stancache.stancache:Step 2: Get posterior draws from model, possibly from cache\n",
      "INFO:stancache.stancache:sampling: cache_filename set to anon_model.cython_0_25_2.model_code_9571340839314917516.pystan_2_14_0_0.stanfit.chains_4.control_81717217759.data_55819852896.iter_10000.sample_file_1080157740070054779.seed_91038753.pkl\n",
      "INFO:stancache.stancache:sampling: Starting execution\n",
      "INFO:stancache.stancache:sampling: Execution completed (0:03:48.462343 elapsed)\n",
      "INFO:stancache.stancache:sampling: Saving results to cache\n",
      "/home/jacquelineburos/miniconda3/envs/newbladder2/lib/python2.7/pickle.py:306: UserWarning: Pickling fit objects is an experimental feature!\n",
      "The relevant StanModel instance must be pickled along with this fit object.\n",
      "When unpickling the StanModel must be unpickled first.\n",
      "  rv = reduce(self.proto)\n",
      "/home/jacquelineburos/miniconda3/envs/newbladder2/lib/python2.7/site-packages/stanity/psis.py:228: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison\n",
      "  elif sort == 'in-place':\n",
      "/home/jacquelineburos/miniconda3/envs/newbladder2/lib/python2.7/site-packages/stanity/psis.py:246: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future\n",
      "  bs /= 3 * x[sort[np.floor(n/4 + 0.5) - 1]]\n",
      "/home/jacquelineburos/miniconda3/envs/newbladder2/lib/python2.7/site-packages/stanity/psis.py:262: RuntimeWarning: overflow encountered in exp\n",
      "  np.exp(temp, out=temp)\n"
     ]
    }
   ],
   "source": [
    "tcrclonality_by_pdl1 = survstan_pfs_varcoef(formula = 'log_peripheral_clonality_a_centered_by_pd_l1', \n",
    "                                            group_col = 'pd_l1',\n",
    "                                            sample_file = os.path.join(sample_file_dir, 'tcr_clonality_X_pdl1'),\n",
    "                                            model_cohort = 'tcr_clonality_X_pd_l1'\n",
    "                                            )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "           mean   se_mean        sd      2.5%        50%      97.5%      Rhat\n",
      "lp__ -66.154676  1.086609  19.19334 -94.51629 -69.873692 -16.616185  1.024204\n"
     ]
    }
   ],
   "source": [
    "survivalstan.utils.print_stan_summary([tcrclonality_by_pdl1], pars='lp__')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjgAAAGMCAYAAADXxtgIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3Xt4XOV59/vv6GBLlmwJG2MMGDAH30kTEiA2IQTSN+GU\nsoE4GNKENgcCzZVT32zTNGnY7e7bkg28OULZuyQ0EHKCtMWQEE6BQEKBhhoXFwiBm3IwtkG2ZYMP\nkiVb0sz+41kjLY1nRnOekfT7XJevNbPWetZ6Zrxgbt/PKZFKpRARERGZSprqXQERERGRSlOAIyIi\nIlOOAhwRERGZchTgiIiIyJSjAEdERESmHAU4IiIiMuUowBEREZEpRwGOiIiITDkKcERERGTKaSm2\ngJkdBrxc4OnvcfdHMsqfBlwKLAM6gFeAVcCV7t6f577HA18BTgG6gB7gTuByd+8t9nOIiIjI1JUo\ndqkGM5sHfD3PKX8AnADsBBa6+0Cs7Ergm0ASeBjYTAhYFgLPASe7++tZ7nk+cDPQDDxOCLCWAkdG\n13i3u79U1AcRERGRKavoDI67bwM+meu4md0FpIBbMoKbY4FvAMPA2e5+X7S/DfgFcCrwHeBDGddb\nCNxECG4+5e43RPsT0f6PEoKfE4v9LCIiIjI1VbQPjpkdBJwZvb0x4/Bl6f3p4AbA3QeBiwlZnRVm\ntiSj3EpgFnB/OriJyqWAzwI7gGVmdnrFPoiIiIhMapXuZHxRdM1n3P3x9E4zawXOit7eklnI3dcD\nj0ZvP5hxeDlRRihLuX7gjujteWXVXERERKaMSgc4HycEI9/L2L+EkIUBWJOj7BogARyX3mFmncBR\nxZYTERGR6a1iAY6ZvYcQjOwFfpxxeHG03Z5npNSGjHMBDo+9Xl9EOREREZnGKpnBuTja/jzLSKjZ\n0TbnMHCgL9rOyVIuX9ls5URERGQaK3oUVTZmNhtYQWie+n4lrllNZrYdmEmYS0dEREQKtxDY4+7d\n9a5IPhUJcICPEPrYbHD3X2Y5vivaduS5Rme03ZmlXLps/H2+chOZ2dzc3LZw4UI1a4mIiBShp6eH\nkZGReldjQpUKcD5J/uzNumjbbWYdOfrhLMo4F8Isx2mHAs8UWG4iPQsXLlz8wAMPFFFERERETj31\nVDZu3NjwLSBl98ExszcTZi5OESbey8aB3dHrpTnOWRpd44nRQu67gBcKKEe8nIiIiExvlehkfEm0\nfdDd12U7wd2HgLsIw7kvzDwerW91UvT29ozDt+cp1wGcQwiMbiuh7iIiIjIFlRXgmFkL8CeEAOOG\nCU6/KjrvIjNLz3aMmbVHZZuAW939+YxyVxOyP6eZ2SWxck3AdUA3sNrd7y/ns4iIiMjUUW4G5xzg\nAGA7+2ZexnH3tYRVxJuBu83sQTP7KaEJ6r2ExTY/k6VcD/AJYAS43sx+a2a3AM8Df0oYCbVPdkdE\nRESmr3IDnIsIWZmfuPveiU5292uA04F7gWOAcwkjo64ATsi2knhU7lbgncAqwoR+y6O6Xwsc6+4v\nl/k5REREZAopaxSVu59bQpkHgQdLKLcWuKDYciIiIjL9VHotKhEREZG6U4AjIiIiU44CHBEREZly\nFOCIiIjIlKMAR0RERKYcBTgiIiIy5SjAERERkSlHAY6IiIhMOQpwREREZMpRgCMiIiJTjgIcERER\nmXIU4IiIiMiUowBHREREphwFOCIiIjLlKMARERGRKUcBjoiIiEw5CnBERERkylGAIyIiIlOOAhwR\nERGZchTgiIiIyJSjAEfKMrRrFy/80z+x/Zln6l0VERGRUQpwpCwv3nAD637yE35/1VX1roqIiMgo\nBThSspE9e9h0//0A7H71VZLDw3WukYiISKAAR0rW++ijDPf3hzfJJHt6e+tbIRERkYgCHClZzz33\njHs/sGlTnWoiIiIyngIcKclgby/b/vM/x+9TgCMiIg1CAY6UZNN990EyCUCipQVQBkdERBpHSzmF\nzawV+AxwAfAHwCxgM/A08EN3/9csZU4DLgWWAR3AK8Aq4Ep3789zr+OBrwCnAF1AD3AncLm7q/NH\nDaVSKV67914Aut/+doZ37aLvpZeUwRERkYZRcgbHzA4B/gu4GlgCPALcDmwA/gch6MkssxK4DzgD\n+B1wBzAHuAx43Mzm5rjX+cBjwHnAOuBnwAjweeApMzui1M8hxdv5+9+ze8MGAA56//tpO/BAQBkc\nERFpHCVlcMysDbifENj834Tsy0jG8SUZZY4FvgEMA2e7+32xc38BnAp8B/hQRrmFwE1AM/Apd78h\n2p+I9n8UuBk4sZTPIvmlUil++eMfM2fmzNF9ex9+OLxoaeGZLVs4NApwlMEREZFGUWoG5zLAgO+6\n+1fjwQ2Auw+6+1NZygDcmA5u0ucCFwNJYIWZLckot5LQ9HV/OriJyqWAzwI7gGVmdnqJn0Um0JlK\ncWh7++ifmX19AMw66CDamptHMziDvb2aC0dERBpC0QGOmbUAnwZSwNcLLNMKnBW9vSXzuLuvBx6N\n3n4w4/Dy6F7ZyvUTmrkgNF9JDaSiIKaptRWAtgULwgHNhSMiIg2ilCaq44H9gVfd/WUzO4YQXCwE\n3gAeBu6JMixpSwhZmBSwJsd11xA6EB+X3mFmncBRBZT7aLycVFdyaAgYC3DaowwOhH447QsX1qVe\nIiIiaaUEOG+LthvN7ErgSxnHvwysNbPl7r4h2rc42m7PM1Iq81yAw2Ov1xdRTqooHeCkh4e3xQIc\n9cMREZFGUEofnHnR9nhCcPP/EvrjdAGnA07IptxpZs3RubOjbc5h4EBftJ0T2zc79jpX2WzlpIoy\nm6ha58yhub0d0EgqERFpDKVkcBKxsje7+xdixx40szMIQc5bgQ8DPymvitJoRjM4UYCTSCRoO/BA\n+l9+WRkcERFpCKVkcHbFXl+feTBqlrorentaRpmOPNftjLY7c9wrV9ls5aSKUuk+OC1j8XG75sIR\nEZEGUkqA81KO15nnJAgdjyFMzgfQbWa5ApVFGedCmOU47dAiykmVpFKp0aHg6SYqGOuHowyOiIg0\nglICnCcIo5ogjKbKJr0/3T/Ggd3R66U5yiyNrvtEeoe77wJeKKBcul5SZamREUiFv/5ELMBJZ3D2\naC4cERFpAEUHOO6+mbAsA4w1QY2K5sn5Q0KwsjoqM0RotkoAF2YpcxhwUvT29ozDt+cp1wGcE93r\ntmI/ixQv3TwF45uo0hmclObCERGRBlDqTMZ/Rwg6vmJm70zvjEZNfQs4gtAn5vuxMlcRApGLzOzM\nWJl24IaoLre6+/MZ97qakP05zcwuiZVrAq4DuoHV7n5/iZ9FihDPzmTL4ID64YiISP2VFOC4+4PA\nXwP7AQ+b2SNmdivw34QFMHcDH4mv8u3uawmriDcDd5vZg2b2U0IT1HuB5wgrk2feqwf4BGFxzevN\n7LdmdgvwPPCnhFXF98nuSHWMy+Bk6YMD6ocjIiL1V/Jq4u5+BXAmYXVwA86OrncjcLy735ulzDWE\nuXLuBY4BziWMlLoCOMHdX89xr1uBdwKrCBP6LY/udS1wrLu/XOrnkOIkczRRaS4cERFpJCWtJp7m\n7r8CflVkmQeBB0u411rggmLLSWXlaqLSXDgiItJISs7gyPSUq4kKNBeOiIg0DgU4UpR4E1WiZXwC\nUHPhiIhIo1CAI0WJN1Htk8FZsACAQc2FIyIidaYAR4qSr4lqxrxoHdZkkuFduxAREamXsjoZy/Qz\nrpNxSwvJZJLeaGK/gURi9Njml1+mbXiYefPm0dSkOFpERGpLAY4UJZ3BSbS0kEgk2NnXx7OrVtHV\n2cnQ1q2j52164AEGZs/mzStWMH/+/HpVV0REpikFOFKU0YU2Yx2Muzo7mdfVxVAiwfZoX0dTEzM6\nO7NcQUREpPrUdiBFSY+iSmT0vwFGJ/oDGBkYqFmdREREMinAkaKkm6gyOxin96UDHwU4IiJSTwpw\npCjpJqrMOXDS0lmckd27a1YnERGRTApwpCjJPBkcgJZ0gKMMjoiI1JECHClKviYqGMvgDCvAERGR\nOlKAI0WZsIlq1ixAGRwREakvBThSlEIzOOqDIyIi9aQAR4pScB+cwUFSqVTN6iUiIhKnAEeKUugo\nqtTwMGjBTRERqRMFOFKUQpuoAJKDgzWpk4iISCYFOFKUfDMZgwIcERFpDApwpGCpVCo0PTF+Laq4\n9CgqUIAjIiL1owBHCpaK9amZqJMxQEoBjoiI1IkCHClYunkKcncybmprg0QinK8AR0RE6kQBjhSs\nkAxOIpGgua0NUIAjIiL1owBHCjYug5MjwIGxfjhqohIRkXpRgCMFG5fBydFEBWMjqZTBERGRelGA\nIwWLZ3ByNVHBWEdjBTgiIlIvCnCkYMlYBidXJ2OIzWasAEdEROpEAY4ULFVgBkdNVCIiUm8KcKRg\nhTZRjXYy3rOH1MhI1eslIiKSKXc7Qx5m9n3g43lOSQHt7r43S9nTgEuBZUAH8AqwCrjS3fvz3PN4\n4CvAKUAX0APcCVzu7r2lfA4pTqrIJiqA4b6+qtZJREQkm5ICnEgKeBR4Icexff7pbmYrgW8CSeBh\nYDMhYLkMOM/MTnb317OUOx+4GWgGHgdeBpYCnwcuMLN3u/tLZXwWKUAhE/3B+NmMR3burGqdRERE\nsiknwAH4nrv/sJATzexY4BvAMHC2u98X7W8DfgGcCnwH+FBGuYXATYTg5lPufkO0PxHt/ygh+Dmx\nzM8iE4gvtJmIZivOZlwGRwGOiIjUQS374FwWbW9MBzcA7j4IXEzI6qwwsyUZ5VYCs4D708FNVC4F\nfBbYASwzs9OrWXlhwoU20xTgiIhIvdUkwDGzVuCs6O0tmcfdfT2huQvggxmHlxOavLKV6wfuiN6e\nV5HKSk7xDE4+4wKcXbuqWicREZFsymmiSgDvM7O3AbOBbcBq4O4snYuXELIwKWBNjuutIfTHOS69\nw8w6gaMKKPfReDmpjnSAk28EVfp4orWV1NCQ+uCIiEhdlNvJ+KMZ+xJAj5l90t1/Gdu/ONpuzzNS\nakPGuQCHx16vL6KcVEGhTVQQsjjDQ0NqohIRkbootYnqv4AvAG8F5gALgDMIzUwLgZ+b2Xti58+O\ntjmHgQPp8cRzspTLVzZbOamCQpuoYGwklQIcERGph5IyOO5+TcaufuAB4AEzux34AHA1cHx51ZNG\nkiqwiQrG+uGoD46IiNRDNToZ/220fbuZHRy9Tv/KdeQp1xlt4//kj/865iqbrZxUQbKYJqpoNmNl\ncEREpB6qEeA8G3t9SLRdF227zSxXoLIo41wIsxynHVpEOamCYpqo0hmcEWVwRESkDqoR4MyLvU7/\nujmwO3q9NEe5pYSOy0+kd7j7LsZmSs5Xjng5qY5imqjifXBSqVRV6yUiIpKpGgHOR6LtTkJgg7sP\nAXcRRlldmFnAzA4DTore3p5x+PY85TqAcwiB0W0VqLvkkW6iyrdMQ1o6g5MaGmJkYKCq9RIREclU\ndIBjZm83s3PMrDljf8LMLgb+H0LAcY27x9ejuiraf5GZnRkr1w7cENXlVnd/PuOWVxOyP6eZ2SWx\nck3AdUA3sNrd7y/2s0hxCp0HB8ZP9je0Y0fV6iQiIpJNKaOoDidkVd4wsycIC2Z2E4aMH0oIYm4G\n/j5eyN3XmtmlwLeAu83sIWALYXK/A4HngM9k3szde8zsE9E1r4+CqHWE1ciPIKwqvk92Ryqv2Hlw\n0vbu2EH7woVVq5eIiEimUpqongS+DfwOMMLSCu8jBDb/Apzl7h9192RmwWh4+enAvcAxwLmEfjpX\nACdkW0k8Kncr8E5gFWFCv+VR3a8FjnX3l0v4HFKEVCo1GuAU1Mk4GkUFMLR9e9XqJSIikk3RGRx3\nXwf8Rak3dPcHgQdLKLcWuKDU+0p50h2MobAMTktGBkdERKSWarmauExi6Q7GUFgfnKa2NkgkAGVw\nRESk9hTgSEGSsQxOIU1UiUSCxMyZgDoZi4hI7SnAkYKk4hmcApqoIMriAHuVwRERkRpTgCMFKTaD\nA2MBjjI4IiJSawpwpCDjOhkXGOAk0hkcBTgiIlJjCnCkIMkymqiUwRERkVpTgCMFKaeJSn1wRESk\n1hTgSEHKaaIa3rVrXAZIRESk2hTgSEHiAUohi23CWAYHYGjnzorXSUREJBcFOFKQ0SaqRIJEc3P+\nkyPjAhz1wxERkRpSgCMFScVWEk9EMxRPJBELcNQPR0REakkBjhQk3URVaPMUKIMjIiL1owBHChLP\n4BRKAY6IiNSLAhwpSLKEACfR0kJTtB6VJvsTEZFaUoAjBUmV0EQF0DJnDqAVxUVEpLYU4EhBSsng\nADRHAY4yOCIiUksKcKQg6QCn0FmM05TBERGRelCAIwVJN1EVug5VWsvs2YAyOCIiUlsKcKQgyuCI\niMhkogBHCjKawSlwFuO0dB+coR07SKVSFa+XiIhINgpwpCCpkRGg9FFUyaEhRgYGKl4vERGRbBTg\nSEFGA5wiMzjpPjigyf5ERKR2FOBIQZKlBjhRBge0HpWIiNSOAhwpyOhEf8X2wVEGR0RE6kABjhSk\n5CYqZXBERKQOFODIhFLJJEQjoIqdB6e5o4NEU3jMlMEREZFaUYAjE0smR18Wm8FJNDXR2tUFKIMj\nIiK1U9w/x3Mws68BX4ze/rW7X5HjvNOAS4FlQAfwCrAKuNLd+/Nc/3jgK8ApQBfQA9wJXO7uvZX4\nDJJH1DwFxQc4AK1dXex94w1lcEREpGbKzuCY2UmEoCUJ5JzJzcxWAvcBZwC/A+4A5gCXAY+b2dwc\n5c4HHgPOA9YBPwNGgM8DT5nZEeV+BplABQIc0HINIiJSO2UFOGbWDtwEvAb8PM95xwLfAIaBs9z9\nve7+YeBI4AHgTcB3spRbGF2/GfiUu5/o7h8BlgA/AhYAN5fzGWRiqXiAU2QfHIAZUYCjDI6IiNRK\nuRmcqwhByqeAnXnOuyza3uju96V3uvsgcDEh+7PCzJZklFsJzALud/cbYuVSwGeBHcAyMzu9zM8h\n+ZTRBwegtbsbUIAjIiK1U3KAY2b/g9BM9AN3vzfPea3AWdHbWzKPu/t64NHo7QczDi8nNHtlK9dP\naOaC0Hwl1VJmE9UMdTIWEZEaKynAMbMO4EZCZ9+VE5y+hJCFAViT45w1QAI4LnaPTuCoYstJFZTb\nByfK4Azv2kUymjBQRESkmkrN4HwTOAz4jLtP1O6wONpuzzNSakPGuQCHx16vL6KcVFoswCl2HhwY\ny+AADO3M15IpIiJSGUUHOGZ2BqHPzS3u/osCiqTn6s85DBzoi7ZzYvtmx17nKputnFRYqkIZHFA/\nHBERqY2iAhwzmwPcAGwG/rwqNZLGU24n41gGR/1wRESkFoptb7gGOAj4Y3d/o8Ayu6JtR55zOqNt\nvP1iV+x1R8b7fOWk0srtZBzP4CjAERGRGig2wFlOmMvmc2b2uYxjb4q2l0TDtjdFc9asi/Z3m1lH\njn44i6Ltuti+V2KvDwWeKbCcVFq58+Dst9/o6z2vv16RKomIiORT7K9VKirznjznHBb9WRe9d2A3\n0A4sBR7KUmZpdO0n0jvcfZeZvUCYZ2cp2QOcpdH2iSzHpELK7YPT1NJCa1cXQzt2sFcBjoiI1EBR\nAY67Z11OAcDMvg98DPib+FpU7j5kZncBFwAXkhHgmNlhwEnR29szLns78JdRuR9klOsAziEERrcV\n8zmkSGX2wQGYMXcuQzt2KIMjIiI1UavVxK8iBCIXmdmZ6Z3RUg83RPW41d2fzyh3NSH7c5qZXRIr\n1wRcB3QDq939/irXf3orM4MDMHNuiI2VwRERkVqodICTyLbT3dcSFuRsBu42swfN7KfAC8B7geeA\nz2Qp1wN8grC45vVm9lszuwV4HvhTwkSDF1b4M0imKMBJNDeTSGT9K55Quh+OAhwREamFSgc4OVcT\nd/drgNOBe4FjgHMJI6OuAE5w96y/fO5+K/BOYBVhQr/lhHpfCxzr7i9X8gNIFrEAp1Qz0hmcNwod\nfCciIlK64ofE5ODuFwEXTXDOg8CDJVx7LaEPj9RBqgIBTryJKpVMkmiqVeuoiIhMR/qVkYlFnYwr\nkcFJJZNarkFERKpOAY5MLJ3BKWEOnLR0gAPqhyMiItWnAEcmVsEmKtBkfyIiUn0KcGRCleiDowyO\niIjUkgIcmVjUB6epjACndc6c0QBJGRwREak2BTgysQr0wUk0NWkuHBERqZmKDROXKazEJqpkMsnW\nrVtH3zfNng1bt7Lztdfo7e0FYN68eTRpyLiIiFSYAhyZWIkBzva+Pgbvvpu9CxaEywwPA9D/0ku8\n9stfsqOvjzevWMH8+fMrW18REZn2FODIhFJlzIPT1dHBvK4uAPZ2dbF3wwYSe/aM7hMREakGtQ3I\nxCrQBwegpaMjXK6/v+wqiYiI5KMARyZWgWHiAM2zZoXLDQ6ODj0XERGpBgU4MrEKBTjpDA7A8O7d\nZV1LREQkHwU4MqFUBebBgYwAR81UIiJSRQpwZGIV7oMD6ocjIiLVpQBHJlapPjjK4IiISI0owJGJ\nVSjAaWptHc0CqQ+OiIhUkwIcySuVSo2uRVVuE1UikRhtplIGR0REqkkBjuSVGhoafV1uBgegJT1U\nXBkcERGpIgU4kleywgFOszI4IiJSAwpwJK9KBzhqohIRkVpQgCN5JffuHX3dVGYfHNByDSIiUhsK\ncCSvamVwkkND4/r3iIiIVJICHMkrnsGpSB+cqJMxQHJgoOzriYiIZKMAR/KqVgYHIKmRVCIiUiUK\ncCSvcRmcCvbBAWVwRESkehTgSF4VHyYeb6JSBkdERKpEAY7kVemJ/ppaWkbnwhnZtavs64mIiGRT\nUpuDmV0InAm8HVgI7AfsBhy4HbjW3bOOAzaz04BLgWVAB/AKsAq4MleZqNzxwFeAU4AuoAe4E7jc\n3XtL+RwysUp3MgaY0d3NQH8/Izt3VuR6IiIimUrN4HwG+BOgGfhP4F+Ax4G3AFcAa83swMxCZrYS\nuA84A/gdcAcwB7gMeNzM5ma7mZmdDzwGnAesA34GjACfB54ysyNK/BwygXgTVSXmwYEQ4AAKcERE\npGpK/cW6FPhvd98e32lm+wE/B94NfJMQBKWPHQt8AxgGznb3+6L9bcAvgFOB7wAfyrjmQuAmQjD1\nKXe/IdqfiPZ/FLgZOLHEzyJ5VCOD0xoLcFLRSuUiIiKVVFIGx90fzwxuov1vELIxCUKWJu6yaHtj\nOriJygwCFwNJYIWZLckotxKYBdyfDm6icings8AOYJmZnV7KZ5H8Kt3JGMYyOCSTDL3+ekWuKSIi\nEleNTsbD0XZPeoeZtQJnRW9vySzg7uuBR6O3H8w4vBxI5SjXT2jmgtB8JRVWlQBnv/1GX+/ZtKki\n1xQREYmraIBjZp3A3xECkp/HDi0hZGEA1uQovoaQ+Tku43pHFVtOKmc0wEkkSDRV5nFp7eoafb1X\nAY6IiFRBWb1Go2ahCwmB0gLgXUAncA/wV7FTF0fb7XlGSm3IOBfg8Njr9UWUkwpJ98GpxCR/ac1t\nbTS3tzMyMKAMjoiIVEW5v1p/AHwsY9/NwKXuHp/kZHa0zbeEdF+0nZOlXL6y2cpJhYwGOBVqnkpr\n7e5mZGCAvZs3V/S6IiIiUGYTlbtf4+7NwAxCU9JfEPraPGtmJ1egflJn6Yn+mioc4KQ7GiuDIyIi\n1VCRThXuPuLuL7v71cAfESb++7GZzYxOSWdzOrJeIOiMtvHJUeJZoFxls5WTCkn3wal0Bicd4Ozd\ntIlUKlXRa4uIiFR8FJW7rwZ+DywClka710XbbjPLFagsyjgXwizHaYcWUU4qZDTAqWAfHIDWaCRV\ncs8e9mqouIiIVFi11qJK95c5INo6YSkHGAt6Mi0ljL56Ir0j6sfzQgHliJeTyqlWH5zRuXCA3a++\nWtFri4iIVDzAMbP9CWtUATwP4O5DwF2E4dwXZilzGHBS9Pb2jMO35ynXAZxDCIxuq0D1JUMtApwB\nBTgiIlJhRQc4ZvZmM7sw1r8mfmwJ8K/ATOC37v5M7PBVhEDkIjM7M1amHbghqsut7v58xmWvJmR/\nTjOzS2LlmoDrgG5gtbvfX+xnkYlVqw9OU1sbiRkzAGVwRESk8krpWHEA8GPgu2a2FthIGEV1KHA8\nIdvyDPDheCF3X2tmlwLfAu42s4eALYTVwQ8EniMs4klGuR4z+wRh+Pn1ZnYxob/NMuAIwqri+2R3\npDKqFeAkEgma58xheOtWZXBERKTiSmmieoawrtS/AQcDZwP/R/T6V8CngePdfWNmQXe/BjgduBc4\nBjiXMFLqCuAEd8/a29TdbwXeCawiTOi3PKr7tcCx7v5yCZ9DClCNif7SmueEqYuUwRERkUor+lfL\n3bcSmpuuKuWG7v4g8GAJ5dYCF5RyTyldskrz4MD4ACeVSpFIJCp+DxERmZ6qNYpKpohUlZqoYCzA\nGenvZ2jHjopfX0REpi8FOJJXtUZRwViAA2qmEhGRylKAI3lVa6I/GB/gqKOxiIhUkgIcyauaGZxE\neztNM8NsA7s37tMnXUREpGQKcCSvag0ThzBUfOZBBwHQv359xa8vIiLTlwIcyauaAQ5A26KwlFj/\nyxrpLyIilaMAR/IaHSZehT44MBbg7N64cbQ5TEREpFwKcCSvavbBgbEAJzUyon44IiJSMQpwJKfk\n8DAkk0D1AxyAPjVTiYhIhSjAkZzSk/xB9QKc1v33p7m9HVCAIyIilaMAR3JKxgOcKvXBSTQ10XH4\n4QD0r1tXlXuIiMj0owBHckrWIIMD0Ll4MaAMjoiIVI4CHMkpPqqpmgFOOoMz8NprjOzZU7X7iIjI\n9KEAR3IaF+BUqYkKxjI4pFL0v/JK1e4jIiLThwIcyalWTVTpDA6oH46IiFSGAhzJKR7gNFUhwEkm\nk2zdupWdqRTNHR0AbHnmGXp7e+nt7SUZDVEXEREpVvXaHWTSq3YfnO19fQzefTd7Fywg0dkJ/f3s\neOIJmD+fHX19vHnFCubPn1/x+4qIyNSnDI7kVIth4l0dHczr6qJzwYJwzx07mNfVRVdnZ1XuJyIi\n04MCHMnyOYPCAAAgAElEQVSpVqOoAGbMmwfA8M6djGhNKhERKZMCHMmpVp2MAWbuv//o673btlX1\nXiIiMvUpwJGcarFUQ1o8wNmzdWtV7yUiIlOfAhzJaaRG8+AAtMyaNbom1R5lcEREpEwKcCSnVJWH\niWdKZ3H2vv561e8lIiJTmwIcySneyZim6j8qrXPmADC0c2fV7yUiIlObAhzJabSTcXMziUSi6veL\nBzipVKrq9xMRkalLAY7kNJrBqUHzFEBLFOCkhoZIadFNEREpgwIcyWk0g1OD5ikYy+AAjPT11eSe\nIiIyNRU9NMbMWoEzgLOAZcAiYC7wOrAa+K67352n/GnApVHZDuAVYBVwpbv35yl3PPAV4BSgC+gB\n7gQud/feYj+HTCzeRFUL8QAnqQBHRETKUMo/zd8D/AL4NHAw8DhwG7AFOBu408yuy1bQzFYC9xEC\npN8BdwBzgMuAx81sbo5y5wOPAecB64CfASPA54GnzOyIEj6HTCDdRFXtOXDSWmLLMyiDIyIi5Shl\ncpMkcCtwtbv/e/yAmV0A3Ax8yswedfcfx44dC3wDGAbOdvf7ov1thIDpVOA7wIcyrrkQuAloBj7l\n7jdE+xPR/o9G9zyxhM8iedQ6g9PU0kJLRwfD/f3K4IiISFmKzuC4+6/d/UOZwU107F8JQUcC+FjG\n4cui7Y3p4CYqMwhcTAicVpjZkoxyK4FZwP3p4CYqlwI+C+wAlpnZ6cV+FslvtJNxjfrgwFhHY2Vw\nRESkHNX45VobbReld0T9ds6K3t6SWcDd1wOPRm8/mHF4OZDKUa6f0MwFoflKKqjWGRwY64ejDI6I\niJSjGgHO0dG2J7ZvCSELA7AmR7k1hMzPcekdZtYJHFVsOamMdIBTqz44MBbgKIMjIiLlqGiAY2YL\ngE8QMi63xg4tjrbb84yU2pBxLsDhsdfriygnFZCq8Tw4AK2zZ4d7Dw6S1Fw4IiJSoooFOGbWDPyE\nMIT7KeD62OHZ0TbnMHAg/U/2ObF9s2Ovc5XNVk4qYKQOfXDiQ8X3alVxEREpUSV/ub4LvA/oBc53\n9+EKXlvqIFWHPjgtsQBnSAGOiIiUqCIBjpldA3wS2Aac7u4vZpyyK9p25LlMehKU+EqLu2Kvc5XN\nVk4qoJ6djAH29mr+RhERKU3ZAY6ZfRP4c8JMxme4+1NZTlsXbbvNLFegsijjXAizHKcdWkQ5qYB6\ndDJunjmTppkzAQU4IiJSurICHDP7GmGemjcIwc3aHKc6sDt6vTTHOUsJnZOfGC3kvgt4oYByxMtJ\nZdR6sc200VXFFeCIiEiJSg5wzOwq4IuE4OZ0d88ZYLj7EHAXYTj3hVmudRhwUvT29ozDt+cp1wGc\nQwiMbiv+U0g+9ZjoD8ZGUqmTsYiIlKqkXy4z+yrwJcYyN4VkT64iBCIXmdmZsWu1AzdEdbnV3Z/P\nKHc1IftzmpldEivXBFwHdAOr3f3+Uj6L5FaPPjgw1tFYAY6IiJSqlNXEzyEsu5AiNB993syynbrV\n3f8y/cbd15rZpcC3gLvN7CHCAp2nAAcCzwGfybyIu/eY2ScI601db2YXE/rbLAOOIEwouE92R8pX\njz44EGui2raN5PAwTS2lLJkmIiLTWSm/HHMJwQ2E/i+5+sasA/4yvsPdrzGzp4G/AE4gjIxaD9wI\nXJVrEkB3v9XMXiQEVqcAxxICm2uBr7q7OmtUWCqVYmRwMLypcYAxOpIqmWTvtm20LVhQ0/uLiMjk\nV/Qvl7v/APhBqTd09weBB0sotxa4oNT7SnGSe/ZAMhnetLbW9N7xoeKDmzcrwBERkaLVtveoTBoj\nAwOjrxP1yuAAA5s31/TeIiIyNSjAkayGd+8ee1PjDE7zrFmjI7cGFeCIiEgJFOBIVvEMTq0DnEQi\nQXNnmKBaAY6IiJRCAY5kNRLL4CRqHOAANCnAERGRMijAkayG65jBAZTBERGRsijAkazGdTKuYwZn\nYPNmUqnUBGeLiIiMpwBHshrXB6cOE+2lMzjJwUGGduyo+f1FRGRyU4AjWY0bRVWHACedwQEY3LKl\n5vcXEZHJTQGOZJXO4DS1tZGo8WKbMJbBAfXDERGR4inAkazSo6ha2tvrcv+mjg5IJAAY3LSpLnUQ\nEZHJSwGOZJUeRdVcpwAn0dxMS3c3oNmMRUSkeApwJKt0Bqd51qy61WHG/PmA+uCIiEjxFOBIViN1\nzuBALMBRE5WIiBRJAY5klW6iaqljBqd1//0BdTIWEZHiKcCRrEYzOG1tdatDOoMztGPH+Hl5RERE\nJqAAR7JqiD44UQYH1A9HRESKowBHsmqEPjitUQYH1EwlIiLFUYAjWaVnMq5nH5x4BkdDxUVEpBgK\ncCSrRsjgNM+aRYtWFRcRkRIowJF9JIeHSe7dC9Q3wAFoW7AAUIAjIiLFUYAj+4iPWKrXUg1pbQce\nCCjAERGR4ijAkX3EA5x6jqICaFcGR0RESqAAR/YxLsCpdwbngAMA2NPbS3J4uK51ERGRyUMBjuwj\nPYIK6juKCsaaqFLJJHu3batrXUREZPJQgCP7aKgMTtREBRoqLiIihVOAI/uIZ3Dq3QcnHuBo0U0R\nESmUAhzZRyNlcGZ0d9PU2gqoo7GIiBROAY7sYyTeB6fOAU6iqWlsLhytRyUiIgVqKbaAmS0BzgDe\nEf15M9AM/LW7XzFB2dOAS4FlQAfwCrAKuNLd+/OUOx74CnAK0AX0AHcCl7t7b7GfQfJLZ3ASzc0k\nouxJPbUtWMDujRvVRCUiIgUrJYPzGeAfgI8Bb4mukZqokJmtBO4jBEe/A+4A5gCXAY+b2dwc5c4H\nHgPOA9YBPwNGgM8DT5nZESV8BsljOL1Mw6xZJBKJOtdmrB+OOhmLiEihSglwnga+DvwJIXvz44kK\nmNmxwDeAYeAsd3+vu38YOBJ4AHgT8J0s5RYCNxEyRJ9y9xPd/SPAEuBHwALg5hI+g+TRCOtQxcVn\nM04lk3WujYiITAZFBzjufqO7f9ndf+ruzwOF/OJcFm1vdPf7YtcaBC6OrrEiav6KWwnMAu539xti\n5VLAZ4EdwDIzO73YzyG5jTTASuJxsw45BIDknj3qaCwiIgWpeidjM2sFzore3pJ53N3XA49Gbz+Y\ncXg5ofkrW7l+QjMXhOYrqZDhBsvgdB5++Ojr/nXr6lYPERGZPGoximoJIQsDsCbHOWuABHBceoeZ\ndQJHFVtOyjeawWmQAGfWIYeQaAqPat8rr9S5NiIiMhnUIsBZHG235xkptSHjXIDDY6/XF1FOytRo\nfXCaZsygPWqm6n/55TrXRkREJoOih4mXYHa0zTkMHOiLtnOylMtXNls5KVN6JuN6zmKcTCbZunXr\n6PvWhQth/Xq2v/ACvb1hZoB58+bR1KSpnEREZF+1CHBkkmmEDM72vj4G776bvdEQ8aG9ewEYeOUV\nXr33Xnb29/PmFSuYP39+3eooIiKNqxb//N0VbTvynNMZbXdmKZevbLZyUqZ0gFPvUVRdHR3M6+pi\nXlcX3QcdFHYODzMnkaCrszN/YRERmdZqEeCsi7bdZpYrUFmUcS6EWY7TDi2inJSp0UZRAcyYN2/0\n9d5t2+pYExERmQxqEeA4kF7caGmOc5YShoM/MVrIfRfwQgHliJeT8qRSqbEmqgaZBwdgxn77QTSr\n8h4FOCIiMoGqBzjuPgTcRRjOfWHmcTM7DDgpent7xuHb85TrAM4hBEa3VbDK01pyzx6IZgtulGHi\nAE0tLczo7gaUwRERkYnVagjKVYRA5CIzOzO908zagRuietwazYwcdzUh+3OamV0SK9cEXAd0A6vd\n/f4q13/aGI6tJN5ITVQAM/bfH1AGR0REJlbKauLHEYKL9AKbRxKyLJ82s3Nipy53980A7r7WzC4F\nvgXcbWYPAVsIq4MfCDxHWMRzHHfvMbNPENabut7MLib0t1kGHEFYVXyf7I6ULt08BY0X4MycN4++\n//5v9mzbRmdqwvVdRURkGislgzOHEGCcEP2ZRwh2Do7tWwbMjBdy92uA04F7gWOAcwkjpa4ATnD3\n17PdzN1vBd4JrCJM6Lc8qve1wLHurpnfKmgklsGp9yiqTDOjjsapoSGSfX0TnC0iItNZ0Rkcd3+I\nsLp30dz9QeDBEsqtBS4o5Z5SnEbO4MRHUg1v317HmoiISKPTNLAyznA8wGmwDE58JNXIG2/UuTYi\nItLIFODIOPEMTiONooLxI6mGFeCIiEgeCnBknHGjqBosgwNjzVQjaqISEZE8FODIOOP64LS11bEm\n2c2MBTgpjaQSEZEcFODIOOlRVM1tbSQacKXumdFcOKmhIfZs3Fjn2oiISKPSauIyTiOsJJ7PrEWL\nRl/vWL2aRccfn/W8ZDLJtjwTAs6bN4+mBgzgRESkMhTgyDjpPjiN2P8GoKWjg/ZDDmFg40a2P/YY\nfPrTWc/btm0bz65alXXV8R19fbx5xQrmz59f7eqKiEidKMCRcRo9gwMw++ijGdi4kcF169j92mvM\nOuigrOd1dXYyr6urxrUTEZFGoBy9jJOeB6fRZjGOm3300aOvt/zbv9WxJiIi0qgU4Mg4kyGD0zp7\nNi0HHADAloceqnNtRESkESnAkXHSo6gaOYMDMPPwwwHY+eyzDG7Zss/x4V272LtxI4ObNzPc368h\n5SIi04z64Mg4kyGDAzBz8WL6V68GQjPVoeefP3psYNMmnv/SlxjaupUd0b5ESwsLzzyTOW96Ux1q\nKyIitaYMjowzOoqqwQOc5tmzaT/iCGB8M9Xgli08sXIlQ1u3jjs/NTzMlt/8huTwcE3rKSIi9aEM\njowzWTI4AF0nnsjASy+x/Xe/4+nLL2feCSew7kc/YqCnB4BZ73gH8444goGeHrY+8gjD/f3sePpp\niAIjERGZuhTgyDiTpQ8OQPe73sXmn/6UVDLJ5gceYPMDD4weO/AjH2Gko4OOri5mLVrEruefZ8+W\nLWxbvZruww6rY61FRKQW1EQlo5LDwySHhoDJkcGZeeCBvOMf/oGDzz13dAkHgMUf/zgLzjtv9H0i\nkWD/d70LgOG+Pgbda15XERGpLWVwZNS4hTYnQQYHoPutb6X7rW8ltXIlu55/nuTevXQfcwy9vb3j\nzus88khmzp/Pnt5edj/55GggJyIiU5MyODIq3XcFYEZ3dx1rUrxEIsEcM7qPOSbn8XQWJ9nfzxu/\n+U0NayciIrWmAEdG9b344ujr2UcdVceaVEfnUUeNNmVtueMOUslknWskIiLVoiYqGbXrhRcAmLHf\nfsycN6/OtckvmUyyNWMoeNzWrVv3mdwvkUgwd9kyeu65h72bNvH6mjXMO+GEaldVRETqQAGOjEoH\nOJ2TIHuzva+PwbvvZu+CBVmPv9LTw/6zZ0NGU9vsJUvY9OtfkxocZMPPfqYAR0RkilKAIwCkUin6\nogBn9pFH1rk2henq6Mi5WvjrO3dm3d/U0kKbGQNPPsnW3/6WgZ4e2hcurGY1RUSkDtQHRwBG12yC\nqdn/Jq79TW+CRAJSKTbecUe9qyMiIlWgAEeAseYpCEOqp7Lm2bOZs3QpAK/ddRcje/bUuUYiIlJp\nCnAEGBtB1dTayqxFi+pcm+rb/8wzARjauZPNv/51nWsjIiKVpgBHgLEMTsfixTS1TP2uWZ3HHDMa\nyK2/9VZSIyN1rpGIiFSSAhwBxjI4U73/TVqiqYlFK1YA0PfCC6xftarONRIRkUqaVP9UN7MLgM8B\nbwNmAC8APwG+7e7D9azbZDbc38/Aa68Bk2OIeKUcfPbZ9NxzDzvdefF732P+SScx65BD6l0tERGp\ngEmTwTGzq4F/Bt4F/AdwD7AI+N/AA2Y2s47Vm9TGzWA8xTsYxzW1tPAHX/4yiZYWknv38vuvf12z\nG4uITBGTIsAxs+XA/wR2ASe4+x+5+wXA0cDTwMnA5XWs4qQWH0E1HQKc9CzIvb29DMyezQHRyuPb\nn3yS526+md7eXpINGOikRkYY3LKF5LCSlSIiE5ksTVSXASngSnd/Mr3T3V83s88CDwOfN7PL3X1X\nvSo5We2KMjhtBx5IS2dnnWtTfZmzIKc6OmieO5eR11/n1RtvZNPTT/PWL36R+fPn17mmsHf7dl67\n5x7eePJJtj/9NCP9/bQvXMhhF17IQWeeSdOMGfWuoohIQ2r4DI6ZHQQsjd7eknnc3R8FNgAzgbNq\nWLUpY3QG42nU/yY9C/K8ri72nzuXRWedRaK1FZJJRv7jP3jtBz+o+ciqZDJJb2/v6J91jzzCv190\nES9897tse+wxRqKJGAd6enjum9/k0Qsv5NW7795nzS0REZkcGZzjou3r7v5KjnPWAIdE5/5zTWo1\nRSSHh+l7+WVg6k/wl0/bggUc9pGPsPFnP2N4505677yTJ159lSMvuoiuY44hkUhUvQ7btm3j2VWr\nmNPRweCzz9L32GOQbirbbz86jz+ersWL2Xb//Qy+8gp7tm7l2a99jdd+8xsO+fSnWXD44TQ1Nfy/\nWUREamIyBDiLo+36POdsABKxc6UAqZER1v3kJyT37gWmVwYnm7b58zn8T/6EV26/naFNm3hj7VrW\nrF3LnDe9iUM+8AH2O/ZY2g48cJ9gZ2RggIHNm9n7xhvMOvhgZs6fX3JA1DE0xOBvfjNu4sUD3/9+\nNre388bAAO1A52mnMWP9evpXr2Zkxw52rF7Njqefpv/P/5wj3/9+EgpyGlIqmWS4v5+RwUFmzp1L\norm53lUSIZVKMbJ7N8N9fbR2d9M8c+qM15kMAc7saNuf55y+aDunynWZMgY2beKZK65g+1NPAdDa\n3c1+xx5b51rVX8usWcw+80yGNm+m/9/+jeTu3ex87jl+/9xz4fh++zHz4INJDQ4y0t/P8K5djPT1\njbtG65w5zD766PDnqKOYffTRtB1wAE1tbfsEPsnhYfZs3cpATw/rb7uNNx5+ePTYjLlzOfjcc5k5\nbx6bN2wYv7hodzfJN7+ZLQ89xPYnn4SBAdZ97Wts+uEPOeisszjg5JOZuf/+tMyeXZPskwTDe/aw\n+cUXGdq2jT09Pex+8UUGXnqJPa+9xsju3RA1JzbNmEHH4YfTuXgxnUccMbqdMXeuAlSpuJGhITa/\n/DJDr7/O3i1bGHjpJXa/9BKD69czvHPnaKY40dRE+yGHhGcy9ly2LVgwKSeAnXw1royFPT09nHrq\nqfWuR12kkkn29PaODoluam1lBpBYvjzr+YN9fbTm+J/unuFhmiBr08jwyAgJoDnHv1TzHS+nbCWu\nnUqlaEokYHgYhoZGf5jYsgXcs5YbtWULvPAC3HPPPocSiURY6BMglcrZfyYxYwZNu3fDdddNWOfU\n8DDJwcFQxy1bIApaR681lX4wi+xvVPPeScXUb+NGeOSRrIem1N9Zo6lQn7VJ1fOtmM+8aROsWZP1\nUCKRINHayush67+wInWroskQ4KRHRXXkOSc99GdngdfcMzIywsaNG3tKr9YUMjICPfoqGsrAQPhT\nCVqGYvLR35k0qjBNxUKg4VcpngwBzrpom28FyEWEgHpdnnNGuXt3eVUSERGRRjYZ8qBro+08Mzss\nxznpYeRP1KA+IiIi0uAaPsBx91eBx6O3F2YeN7OTCRmcPcDdNayaiIiINKiGD3AiVxCGgf+VmaXn\nxcHM5gH/SGieulazGIuIiAhAYrLMgmpm3yasRzUMPEAYNn4q0AU8Apzh7g3f6UlERESqb9IEOABm\ndj7wOeBYoBV4EfgRcLW7awVCERERASZZgCMiIiJSiMnSB0dERESkYApwREREZMpRgCMiIiJTTkPN\nZGxmFxA6Eb8NmAG8APwE+HaxnYjNbD/gS8AHgMOBQeBp4J/c/cd5yrUD/yfwIeBoIAk8B/wQ+Ed3\nT2Yp84fAryeo0qfd/fpiPkM+ZrYEOAN4R/TnzUAz8NfufkUZ1z0NuBRYRlge4xVgFXClu+dc8NTM\njge+ApxCGNnWA9wJXO7uvXnKHQn8DWFE3HygF/gV8Pfu/nKpnyPP/Sb19zadnzUzmwucE6vHsUA7\n8Ct3P6OA+03LZ63U722aP2snEH47TgIWAwcCu4HfAT8Frs/3mzSNn7WSvrdqPWsNE+CY2dWEYeBD\nwIOEFcLfB/xv4GwzK3gYuJktJnxZhwJbCQ9WO3Ai8EMze5+7fzJLuf2icm8jrGv1CDASlfuHqB5n\n53mwNwH35jg2wQqNRfsM8AXGr/lWVo9xM1sJfJMQ1D0MbCb88F4GnGdmJ7v761nKnQ/cTPgP6nHg\nZcLs0p8HLjCzd7v7S1nKvRv4JeHv5pnonm8FPg6cb2anuvvqcj5TFpP+e4tMx2ftFOD7pdRjmj9r\nJX9vkWn1rJlZM/BYdN8+wn+bjwKHAO8CTgY+Fv0m7bP+4XR91sr93iIVfdYaIsAxs+WE4GYX8B53\nfzLaP5cQcJwMXE7IyBTip4TZjR8EVrj7juh6RxAevI+b2aPufkNGue8SgpungLPc/bWo3HzgF8Dp\nwN8SIvNsnssWOFXJ08DXCUtZPAH8X8CflnoxMzsW+AZhnqGz3f2+aH8b4bOfCnyHkNmKl1sI3ET4\nkf5U+js1s0S0/6OEH/ETM8q1A/9C+J/AFe7+N7FjXyX8R/QvZmYVnt9oUn9vMdPuWSP8D/Y7UR2e\nIASD3yngftP6WaPE7y1mOj5ra4CrgF+4+1Dsem8B7iNkNL4FXJJxv+n+rJX0vcVU9FlrlD44lxGi\nvivTwQ1AFB1+ljCL8efNbPZEFzKzEwlf4ghwSTq4ia73EiHdliAjSIl+cFZE9fjzdHATlesF/iwq\nt9LM8q1sXhPufqO7f9ndf+ruzxOi7HJcFm1vTD/M0X0GgYuj66+IUqFxK4FZwP3xgNHdU4S/ux3A\nMjM7PaPcRYQVaZ+P/08g8jfA84Qg9WNlfaoMU+B7q7lG+c7c/TF3/6y7f8/dn6Dw1Yyn9bNWxvdW\nc43wnbn7iLuf4O63xX+ko2PPEP6hnQA+HGUt4qbts1bm91YVdQ9wzOwgxhbLvCXzuLs/CmwAZgJn\nFXDJZdF2nbuvy3L8V9F2kZkti+1fSvjy97r7w1nq8TShHbW9wHpMGmbWythnyvZ3sJ6QagT4YMbh\n5YSgMFu5fuCO6O15Ocr9NEu5FPDPhL+PzHINo07f26RW5ndWqun+rE1LVfzO0gtAtwP7ZxzTs5Zb\nvu+tKhqhiSq9ttTr7v5KjnPWENrxjiM8IPl0Rttt2Q66+4CZDQBthM5Yj2eU257n2lsJfzHvAP41\ny/EFZvY3wMGETs3PAXe5+4YJ6lxvSwjZhBThu85mDaH9Nb4WWCdwVAHlPhovFzkudjxXufh5jage\n31vatHrWyjRtn7UK0bM23tHRdi+Q2d9Jz1pu+b63tIo+a40Q4CyOtuvznLOBEPUuznNO2paM645j\nZgsIEWQq45x0uQPMbJa7784olwAOy3dt4E3A/4q9TwDDZnYt8CV3Hymg/vWQ/jzbPfeInw0Z50IY\nnZaW6+9vn3LRD/w8wt/BROXmm1m7uw/kOK+eavq9ZZhuz1pJ9KxVhJ618b4cbTP7mehZyy/r95ah\nos9a3ZuogHS/mpxDaQk9sgHmFHC9XxMesPlmdm6W45+JvY5f7z8Iw9kgeweojxOi2mz12AF8G/hD\nQvtrB6Gz8rcIbZUrgf+vgLrXS6l/B/E+UbnKllsus2wjqfX3BtP3WSv3fvnuOZWftXLoWctgZv+L\n0PF/F2F6h2z3y3fPafmsTfC9QZWetUbI4FSUu79kZj8mpPe/b2ZfAO4h9OH5U8KXu5ewWGcyVq7P\nzL5J6Ah2lZmlgFsJw9aXE77ofcpFZf8L+K+MqjwDfNHMHgFuA/7MzP7R3Z+q8EeWaUTPmtSKnrXx\nzOxjhN+HEeAid3+xzlWaFAr53qr1rDVCBmdXtM03MindPybX2PlMnwFuB7oJE/T1AhuBKwlf1N3R\neZntgH8HXEcIhq4GXiU0XX0X+E/gRkLKLFf74T7c/WeM/cWdU2i5Giv172BX7HWusuWWyyzbSGr9\nveU1xZ+1cu+X755T+Vmriun2rFmYhPYGQuvAJe5+W5775bvntHrWCvze8irnWWuEAGddtF2U55xF\nhC9oXZ5zRrn7bndfQZhN8e+A6wlj89/r7h8BFkSnPp1RLunu6ZmU/5oQ2HwTOMfd30uYaTaVWa4A\nz0bbQ4osVyvrom13niHwizLOhTCrZdqhhZZz9z7GgsSJym1t0HZqqPH3VqCp+qyVRM9aVU2LZ83M\nziPMqJ8gzFn1g2zn6Vkbr9DvrUAlPWuN0ESVHjo2z8wOyzGSKj2M/IliLuzu/0HoWzMq6gh2LGEC\no6xTQ0dj9p/Jcujd0fb+YupB6HgG4yP8RuKE/kfthO/6oSznLCUEd6N/B+6+y8xeAI6Mjmf7znL9\n3T1BmCxqKXBXEeUaST2+t4lMyWetTNP2WauyKf+sRZPQ3kJIBnza3W+c4J561ijpe5tISc9a3TM4\n7v4qY0O1L8w8bmYnE6LFPYw1LZXjc4S/uH/xPGskZanHHxOi8n9397UTnR8rdzBhOB1Apafnroio\nR/tdhEg729/BYYRsGISmv7jb85TrIKQUU4SmwWzlPpylXAL446jcqiI+Sk3V6XvLaRo8a6Wa7s9a\nxU2HZ83MziFMS9JM+JH+XgG3nfbPWonfW07lPGt1D3AiVxC+zL8ys/h8IfOAfyQ8ENe6+67Ysc+Z\n2bNmdlPmxczsCDPbZyIhM/sk8PeE+Wy+mOX4QjPbJwVmZmcTmqsGgU9nOf4/o7pm7n8bYVrrdsLC\noT/f96PXTr7vjNCElwIuMrMzY2XaCW2oTcCt0SyZcVcTov3TzOySWLkmQn+mbmC1u2dmvW4CXgOW\nRFOYx32VMBfDBuBHRX3IKmik722aP2uluonp/ayVWpdp+6yZ2VmEuc6K/ZG+iWn8rJX6vVXrWUuk\nUmWtx1UxZvZtwnpUw8ADhCFqpxL6vTwCjFts08z+lrAu1G/c/X0Z1/oCYV2OJwjzESQIKbXDCIt5\n/RF8YSIAAAZPSURBVJHHloSIlfsA4V/MTxIWPhwi9Md5E6Ez1QVZfqgxszcIna7+KyqXJDQ/HBfd\n+xXg/RX8HzZRIHgdYwuqHUmYhHAjoXN02nJ33xyVyfmdRce/QBgtBiEtuYUQOR9ImHDpFM+/aGQL\noUlwHWFG6SMIq2Of7FlW0DWzkwhrg80iNNP8jrAo3VsJqcjT3P3xzHLlmOzfm541Sy/mB2GV5iMI\n/20+Gzvt7939noxy0/1ZK/p7m67PmoW1BzcQRsxuJKxpmMtfZH7f0/VZK+d7q9az1gh9cABw95Vm\n9iihCeldhC/pRUJ252rPvoJ3iuwrpj5KGOJ9AvCW6JyXCB2Ov+25VzL9HfCD6P6nEaLQ9YSOxt9y\n954c5b5K6J/zlqhcB+F/Ho8CPyMsEZ9vToFSzGFsWYq0FGEGyINj72dmOSdrVOvu15jZ08BfEL67\nDsLnvxG4KtdncPdbzexFwvolpxD6OPUA1wJfzdUU6O7/bmZvJwwhPI0wfXkv4V9Bl2cLiipgsn9v\n0/pZi87NXDF5drQ/bX6W+03rZ43Svrfp+qzNIvz+QOjUmmvdqBQhQBgX4EzjZ62c760qz1rDZHBE\nREREKqVR+uCIiIiIVIwCHBEREZlyFOCIiIjIlKMAR0RERKYcBTgiIiIy5SjAERERkSlHAY6IiIhM\nOQpwREREZMpRgCMiIiJTjgIcERERmXIaZi0qEWlsZpbMcSgJ9BHWqfktYd2Y/8xS/jDCQnppWRf5\nExGpBGVwRKQYqSx/EoTF/t4C/Bmw+v9v7/5CpCrDOI5/B9nVwlUrCUWUINoHo+gfWl30BzIqKW8E\n6S7oJpCIEurasAvppq6KICGou5AsCLswhMAw6CLFwidDvQgjwmIVsjCbLt4z7Hja2ZkdB1eP3w8M\nu+fP+56zCwO/ed/nvBMRLw3Qx2UVEScj4t/qdeFyX1/S5WXAkTRXrernXmA3sJ8yggPTgefNiFg9\nD/c2m3kJVpLmhwFH0rC2ZuaWzNwA3A5MdR0bAx6fn9uSJGtwJI1AZv4cEV8Bm7p2L+/XLiIWAC8C\nzwEBnKfU8WzPzG9q544DLwN3U6bDlgM3Vod/B44AnwC7MvN8V7uTwJrapVv1mqLM9AOf1CC+oSWN\nSqu2farP+UuAL4G3gLuARcAE8ASwPyLW1c6fAHYCzwJ3AiuA8eq1kjJi9A5wMCImutp11wvRY79T\nV1LDOIIj6ZJVT0g9wnQNzjngiz7N7q3OPwEcA+4Hllb7FgI7gCdrbdrAaeA48Ed1nWXAPZTABGWE\n53VgW7X9OXAzsBG4rrq/NqV+qLtfSQ3Sard9X0vqr5rS6QSYNiXA/AncADxACQ8AF4DnM/OjWvvO\nY+LdfewCXsjMdkRMAocp9Tst4G9gcWZeqNqPAZOZ+f0M97YYOATcUrX9JTNX1c45QZmqagHtzFxw\nKf8PSVc2R3AkDaMFPNW13Qktx4AtmXlogD7+Al7NzDZAZv4YEQncUR0fp9TZ/FodPx8RZyJiJ/Ao\ncCtl1Gasdh8AKyJiSWaeGeaPk3T1swZH0rDqa+EA3Aa8FxFLB2j/U2ZO1fZNcXEtz8LOLxHxEPAD\n8BqwHriJ8iGtVx3NIPcgqaEMOJKG0aZMBy0CHmZ6heI2sA74YID2p2fYP9sCfO8C1zMdZqaAfZRa\nmt0z9FcvepZ0DXGKStKwWtXj2AciYjPwLSVUtIBNEbEhM/eN4kIRsYyy1k5ntOgUsDYzz3adc5Qy\nqtOLBYfSNcQRHEmXLDO/Az5kungYylNQozJW2/6HsmYOANVXQ0z26eNc90ZErBzNrUm6EhlwJI3K\nDkrwgBJ01kfExiH6+d9IS2b+RpkG60w7rQGORcRnEXEEeJvypZ+zOcrFAexgROyJiI8j4pUh7lPS\nFcyAI2kueta1ZOZxpkdxOudu79HHbPUxvY5to9TodALKKuBpYC2wBzjQp9/3a9dYTVl5eTPw4Czt\nJF2FDDiSBjXIyr9vUKaOOufcFxHPzLGPGY9n5qfAY5TVj89S1uA5TAk+mykjOD37zsy9wBbg66q9\nKxlLDeZCf5IkqXEcwZEkSY1jwJEkSY1jwJEkSY1jwJEkSY1jwJEkSY1jwJEkSY1jwJEkSY1jwJEk\nSY1jwJEkSY1jwJEkSY1jwJEkSY1jwJEkSY3zH0rdqNw6/9NUAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa7ca852450>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "survivalstan.utils.plot_stan_summary([tcrclonality_by_pdl1], metric='Rhat')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{{{tcrclonality_by_pdl1_pfs}}}\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nDwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa7ca852510>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "## capture current figure size\n",
    "paper.hyper_figure_label_printer('tcrclonality_by_pdl1_pfs')\n",
    "## make this plot much wider than usual\n",
    "current_fig_size = plt.rcParams[\"figure.figsize\"]\n",
    "new_fig_size = [current_fig_size[0]*2, current_fig_size[1]]\n",
    "plt.rcParams[\"figure.figsize\"] = new_fig_size\n",
    "## plot\n",
    "sb.boxplot(data=tcrclonality_by_pdl1['grp_coefs'], x='exp(beta)', y='group', fliersize=0, whis=[2.5, 97.5])\n",
    "_ = plt.xlim([0, 30])\n",
    "_ = plt.vlines(1, -10, 10, linestyles='--')\n",
    "#_ = plt.title('Hazard associated with log(Peripheral clonality at timepoint A) \\n by level of intratumoral PD-L1 expression')\n",
    "_ = plt.ylabel('')\n",
    "_ = plt.xlabel('HR for {}'.format(cohort.hazard_plot_name))\n",
    "## revert width to original size\n",
    "plt.rcParams[\"figure.figsize\"] = current_fig_size"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{{{tcrclonality_by_pdl1_pfs_split}}}\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.text.Text at 0x7fa7c9182750>"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa7c8ae8e10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "paper.hyper_figure_label_printer('tcrclonality_by_pdl1_pfs_split')\n",
    "## plot side-by-side zoomed & unzoomed plots\n",
    "f, (ax1, ax2) = plt.subplots(1, 2, sharey=True)\n",
    "sb.boxplot(data=tcrclonality_by_pdl1['grp_coefs'],\n",
    "           x='exp(beta)',\n",
    "           y='group',\n",
    "           fliersize=0,\n",
    "           whis=[2.5, 97.5], \n",
    "           ax=ax1,\n",
    "          )\n",
    "ax1.set_xlim([0, 5.])\n",
    "ax1.set_ylabel('')\n",
    "ax1.spines['right'].set_visible(False)\n",
    "ax2.spines['left'].set_visible(False)\n",
    "#ax1.set_yticklabels([0,1,2],['','',''])\n",
    "#ax1.vlines(1, -10, 10, linestyles='--')\n",
    "#ax1.set_yticks([0])\n",
    "#ax1.get_yaxis().set_visible(False)\n",
    "\n",
    "sb.boxplot(data=tcrclonality_by_pdl1['grp_coefs'],\n",
    "           x='exp(beta)',\n",
    "           y='group',\n",
    "           fliersize=0,\n",
    "           whis=[2.5, 97.5],\n",
    "           ax=ax2,\n",
    "          )\n",
    "ax2.set_xlim([5.5, 102])\n",
    "ax2.set_ylabel('')\n",
    "\n",
    "d = .015  # how big to make the diagonal lines in axes coordinates\n",
    "# arguments to pass plot, just so we don't keep repeating them\n",
    "kwargs = dict(transform=ax1.transAxes, color='k', clip_on=False)\n",
    "ax1.plot((1 - d, 1 + d), (-d, +d), **kwargs)  # bottom-right diagonal\n",
    "ax1.plot((1 - d, 1 + d), (1 - d, 1 + d), **kwargs)  # top-right diagonal\n",
    "\n",
    "kwargs.update(transform=ax2.transAxes)  # switch to the bottom axes\n",
    "ax2.plot((-d, +d), (1 - d, 1 + d), **kwargs)  # top-left diagonal\n",
    "ax2.plot((-d, +d), (-d, +d), **kwargs)  # bottom-left diagonal\n",
    "\n",
    "ax1.vlines(1, -10, 10, linestyles='--')\n",
    "ax1.set_xlabel('HR for\\n{}'.format(cohort.hazard_plot_name))\n",
    "ax2.set_xlabel('')\n",
    "## rotate labels on x axis\n",
    "#_ = plt.setp(ax1.get_xticklabels(), rotation='vertical')\n",
    "#_ = plt.setp(ax2.get_xticklabels(), rotation='vertical')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{{{hr_clonality_pfs_among_IC0:n=4, HR=1.86, 95% CI (0.50, 4.99)}}}\n",
      "{{{hr_clonality_pfs_among_IC1:n=11, HR=0.69, 95% CI (0.15, 1.84)}}}\n",
      "{{{hr_clonality_pfs_among_IC2:n=10, HR=89.88, 95% CI (2.43, 506.94)}}}\n"
     ]
    }
   ],
   "source": [
    "## summarize results by IC group\n",
    "tcrclonality_by_pdl1['grp_coefs']['group_label'] = tcrclonality_by_pdl1['grp_coefs'].group.apply(\n",
    "    lambda x: 'hr_clonality_pfs_among_{}'.format(x)\n",
    ")\n",
    "for (name, ic_class), group in tcrclonality_by_pdl1['grp_coefs'].groupby(['group_label','group']):\n",
    "    group_n = len(df.loc[df.pd_l1==ic_class,'pd_l1'])\n",
    "    paper.hyper_label_printer(formatter=paper.hr_posterior_formatter,\n",
    "                              label=name, n=group_n,\n",
    "                              summary='mean',\n",
    "                              series=group['exp(beta)'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{{{hr_clonality_pfs_among_IC0_median:n=4, HR=1.55, 95% CI (0.50, 4.99)}}}\n",
      "{{{hr_clonality_pfs_among_IC1_median:n=11, HR=0.58, 95% CI (0.15, 1.84)}}}\n",
      "{{{hr_clonality_pfs_among_IC2_median:n=10, HR=23.41, 95% CI (2.43, 506.94)}}}\n"
     ]
    }
   ],
   "source": [
    "## confirm what HR would look like if summarized using the median\n",
    "tcrclonality_by_pdl1['grp_coefs']['group_label'] = tcrclonality_by_pdl1['grp_coefs'].group.apply(\n",
    "    lambda x: 'hr_clonality_pfs_among_{}_median'.format(x)\n",
    ")\n",
    "for (name, ic_class), group in tcrclonality_by_pdl1['grp_coefs'].groupby(['group_label','group']):\n",
    "    group_n = len(df.loc[df.pd_l1==ic_class,'pd_l1'])\n",
    "    paper.hyper_label_printer(formatter=paper.hr_posterior_formatter,\n",
    "                              label=name, n=group_n,\n",
    "                              summary='median',\n",
    "                              series=group['exp(beta)'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{{{hr_clonality_pfs_among_IC0_both:n=4, HR (mean)=1.86, HR (median)=1.55, 95% CI (0.50, 4.99)}}}\n",
      "{{{hr_clonality_pfs_among_IC1_both:n=11, HR (mean)=0.69, HR (median)=0.58, 95% CI (0.15, 1.84)}}}\n",
      "{{{hr_clonality_pfs_among_IC2_both:n=10, HR (mean)=89.88, HR (median)=23.41, 95% CI (2.43, 506.94)}}}\n"
     ]
    }
   ],
   "source": [
    "## summarize results by IC group\n",
    "tcrclonality_by_pdl1['grp_coefs']['group_label'] = tcrclonality_by_pdl1['grp_coefs'].group.apply(\n",
    "    lambda x: 'hr_clonality_pfs_among_{}_both'.format(x)\n",
    ")\n",
    "for (name, ic_class), group in tcrclonality_by_pdl1['grp_coefs'].groupby(['group_label','group']):\n",
    "    group_n = len(df.loc[df.pd_l1==ic_class,'pd_l1'])\n",
    "    paper.hyper_label_printer(formatter=paper.hr_posterior_formatter,\n",
    "                              label=name, n=group_n,\n",
    "                              summary=['mean','median'],\n",
    "                              series=group['exp(beta)'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{{{hr_clonality_pfs_among_IC0_both_with_p:n=4, HR (mean)=1.86, HR (median)=1.55, 95% CI (0.50, 4.99), p(HR>1)=0.21}}}\n",
      "{{{hr_clonality_pfs_among_IC1_both_with_p:n=11, HR (mean)=0.69, HR (median)=0.58, 95% CI (0.15, 1.84), p(HR<1)=0.19}}}\n",
      "{{{hr_clonality_pfs_among_IC2_both_with_p:n=10, HR (mean)=89.88, HR (median)=23.41, 95% CI (2.43, 506.94), p(HR>1)=0.0014}}}\n"
     ]
    }
   ],
   "source": [
    "## summarize results by IC group\n",
    "tcrclonality_by_pdl1['grp_coefs']['group_label'] = tcrclonality_by_pdl1['grp_coefs'].group.apply(\n",
    "    lambda x: 'hr_clonality_pfs_among_{}_both_with_p'.format(x)\n",
    ")\n",
    "for (name, ic_class), group in tcrclonality_by_pdl1['grp_coefs'].groupby(['group_label','group']):\n",
    "    group_n = len(df.loc[df.pd_l1==ic_class,'pd_l1'])\n",
    "    paper.hyper_label_printer(formatter=paper.hr_posterior_formatter,\n",
    "                              label=name, n=group_n,\n",
    "                              summary=['mean','median'],\n",
    "                              series=group['exp(beta)'],\n",
    "                              include_p=True, p_compare=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{{{pval_clonality_pfs_interaction:0.018}}}\n"
     ]
    }
   ],
   "source": [
    "## bayesian p-value for interaction\n",
    "comparison3 = pd.pivot_table(tcrclonality_by_pdl1['grp_coefs'],\n",
    "                  index = ['iter', 'model_cohort', 'variable'],\n",
    "                  values = 'value', columns = 'group')\n",
    "print('{{{%s:%s}}}' % ('pval_clonality_pfs_interaction', paper.float_str(1-(comparison3.eval('IC0 < IC2').mean()))))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<seaborn.axisgrid.FacetGrid at 0x7fa7c75697d0>"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n/TxvzFvzdgL1mrerJG/noN5Z9rF5a95OlXk7ft6utKydQs3mrXlr3q7ivF3tWbuwuDhsnZIkSZIk\nSZIkrR/8JbokSZIkSZIkSS3ciS5JkiRJkiRJUgt3okuSJEmSJEmS1MKd6JIkSZIkSZIktXAnuiRJ\nkiRJkiRJLdyJLkmSJEmSJElSC3eiS5IkSZIkSZLUwp3okiRJkiRJkiS1cCe6JEmSJEmSJEkt3Iku\nSZIkSZIkSVKLG8y6AGmliogdgHMaL52amftOsP1jgSc1XtonM78yqfbnwazncdbTn5aIOBXYq/HS\njpl5XvXeVJdbSZo083Z8s57HWU9/WsxbSauJeTu+Wc/jrKc/Leat5oU70aXxLa7w9ufBrOdx1tOf\ntEX6z1PX990IkTTHzNvxzXoeZz39STNvJa1G5u34Zj2Ps57+pJm3mgvuRJdGdynw0cbzs6Y0nQVW\nXwh2mvU8znr607BQPXbO16DL7WrrD0krl3k7ObOex1lPfxrMW0mrhXk7ObOex1lPfxrMW82cO9Gl\nEWXm/wKPmnUd0jAGWG4XerwnScvOvNVKZN5KWmnMW61E5q2WkzvRNZe6nXIDPAB4MfBYYGfgsur1\nf8rMH3RpYwvgUOBBwO2BLYBLgB8DHwPem5mXDTDdhwCHA48AdgAuzMyd+50WFBGvAl7VeP/JwDeq\n1/YFtgLOB/4TeENmXtqzU0qbtwNeAdwX2LIa/yPAazPzypZx7gM8HbgXcAvK9/5C4CvAOzLzjC7j\nXO9aapQbEb8U2AO4MfCUzPxgRNwReBywG+Vz2QrYHPgL8GvgdODozPxqv/mbhIjYm9LX9wC2BdYA\nvwN+SvmMXjdkextR5u+RwO7A1sCVwG+ArwLvycxvdxmvWx9eTFmW9qYsj62fX0Tcm7LM7QZsT+nX\nG1GOtJ9XTfvd3Zb9PvPTdbnt8nq9sbFPRFzbHB74B+Brjdc+nJlP6DKt44EHN166Q2b+eMh61wAv\noPTD7YGbUPoC4CLKLw0+ARyTmVcN07Yk87aNedufedt3fsxbSdcxb7szb/szb/vOj3mrZbPBrAuQ\n+qivfbUFcBrwWuC2wMaUoDsIOD0iDmiOVAXrT4B/ptyAYitgQ0ow3xt4C3BmROzaZ7pbAl8HXgbs\nSgmstmH7zcP9gO9RNpJuDmxECeXDgdOqjaJeDgG+Wz3etBp/F+DllKBaR0RsGBHvo2xMPBG4FbBp\nNQ87Vq+dHhGvHqD2pwMnA39D6femA4CXVI+7VO9vCKwFoprOVyLilX3mbywRsUlE/DdwCiXcA9iM\nMr/bAfsB/zRkm9sD3wLeBzyQspG2EWXebg08ldKHb+7RTN2Hfwt8m7KxchP6fH7Aoynhug+wE+U7\nsAFlQ+MOwDOA70TEk4eZpy51dXu923DXDZ+Z36B8L+rXHhkRN22OFBFbUZaXepivDLuBUbkRcASl\nP+4IbEP5TNdQPo/7Ae8EvhkRNxqhfUmFebvEvO3BvB2aeSupybxdYt72YN4OzbzV1LkTXSvF7sBd\ngAROpByhg7Ly2hg4LiJuAhAROwOfAW7G0grurOq1HzVe2xX4XETcsMd0d6Os0P9ACdlTgD+POA+P\no3znTqMcvb6mMQ93At7eMl690n8mcC3wZeCHHe89LCLu0THe2yhHrOv5vRj4EvBFyi8W6nFfHhGH\n9qn98Sz142cpn0NnjT+jHL39DPA5ygbVNY3pvCoi7tRnOuM4jnJku57eIvAr4ATKZ/dHuodqV9UR\n+s9TPptmH55M2dhrBu8LI+JlfZp8HHAVg39+UPrvbMoyc3xVz9mN6W4I/GtE3HzQ+eqhvpbc5xu1\nLQL/S/llS/3vy9X7b2LpaP4aykZU06MpG1L1MO8eo7a6jm9Rlt9PVXX8qVHnbkCvDWZJgzFvzdt+\nzNvxmLeSwLwF87Yf83Y85q0mzsu5aCWob4rxxsx8GVx3FPBUyukvUI4OP4NyJP/VlNOtqMZ7TGb+\nV91YRBwGvL56b2dKeB/VY7pfBA7JzIur8TcacR4uA/bMzDOrdv6GEsb1+4+JiJdn5nkt4/8R2Csz\nz6rGP5Z1T6faH/hm9d6uwN+xFGLfAu6XmX+u3r8pcAblCPYC8NqIeF9mXt0y7auAR2TmZ+oXG/3w\nH8D7M/P/OkeMiAdSNjrqOg4Bvt9lGmOJiH2Ah1bTWaBsjD09M9/fUe/jh2j2qZRfhdRt/oLS/xdW\n7T0O+FDj/cMj4p2Z+acubQ31+VWOAg7PzEu6zO+zgHdUT29Yzft7h5i366mvJdfltLcfZWa3a8wd\nTzmFcFfK/P1dRByRmfWpcY9tDFtvqIziYuCvM/NHnW9ExGaU5WnHqoZDgBeNOB1J5m39vnnbwrw1\nbzFvpUkwb83bnsxb8xbzdi65E10rxSU0jsJl5kURcQTw7yyt5O8XEa+jXOOtfu1K4OCIOLjRVucp\nMQ+h+0YGlCOlh9YbGNW0R7ku1SJwXL2BUbXzhYg4iRIuUI7i7wcc2zFuvbHz7jqgKsdTQqoO8L9q\nvHdg1V793hrg2IjobLe2NeWacl9pmfYHmhsYVf1XVY+/joj7R8QTgDtXdWzK0pkui412bsN0HNT4\ne5Gy0fP+LvV29m0vD6ke69rfVG9gVO19OCKeR7mGHpR53g/4eEc7o3x+UIL+4Ih4FOUo9DbAJqx7\nV/L672n1a6vMXIyII4H3VC9tBzwM+HhE7EhZnup5O3bU67ll5lURcXH1fd+Hcorg5pRfAdTq6WwT\nEZs3v6+Shmbemre9mLfLzLyVVi3z1rztxbxdZuatBuFOdK0UP8/Mv3S8dlbH8x0oYbk5SyudjSmn\nQHVTr6B36jHdczPz/GEKbZnOItDtBhlnsbSRAWUe2nTe3KPziPDGjb+b87RAOV1w995lshPX38io\nndo2UkS8FXhu46XFjsemftfFG9XO1WPd123zMYwdWTfIf9hlmO+ztJEBvZelYT4/KBsrD208n0W/\n9vNB4DWUaxgCPJtSd30TlvpXEyP/iiAi9qT8omVt4+X6FLdutqAc3Zc0GvPWvO3FvJ0N81Zafcxb\n87YX83Y2zFv15E50rXZtK6KmTXuM+5sJ1jKuztPJruk6VHf9+mGRdVfinbr2Q0TchbKB0Wz/Z5Rr\nyl1B6dsHNt5fYOXorHWQZamXgT+/iHgES6fv1X5IOXp/FSXU9268N5N+zcwrIuLtlA0NKHc6vx1L\np7otAidl5i/HmMy7KMtR3RcXU07frDfS9qH856K2kpYxaTUxbwvzdnjmbR/mraQG87Ywb4dn3vZh\n3qofd6JrpdglIjbOzCsar92+8fci5SYb/0c5NW6z6vWLgZu2XAttENf2H6SveuV4xy7v3b7j+a8m\nMD1Y95pfi8BhmfmmMdpr64c9O56/KzOfUz+pbibywDGmO6g6xOq+3ptyFHkc51CuGVe7I+te0w3g\nr7uMMwl1v9a/PHhJZh5ZvxkRj6bM47gbPt0M2+Y7gcNY2lh/L+XO8bV3jVpIRGwJ3I6lX0z8Brht\n8zp6EfET1t3IkDQe83Y45q15OyrzVlq/mbfDMW/N21GZt5qYDfoPIs2FzYFX1k8iYmvKiq15OtKJ\nmblIudHHQmO8oyJiTWeDEXH3iDgqIh7a+d4ULACPi4jrTjmLiAMop7rVK/VrKXfGnoTmzU4WgBc3\np92oYeuIeHJEfHjE6XTehOayRttbAG8Ysd1hfbLx9wLwpIh4anOAiLhBRDxpiDbra+TVy9j/i4hb\nNNp7DHA3lvr5cuCkYQtv0dmvlzemuw3wCtZd9ifp8sbfC8C2vQbOzD9QrsVX19K8VtxvKNfGG1Vn\nP1xN+aUCANU1+249RvuSrs+8HY55a96OyryV1m/m7XDMW/N2VOatJsZfomslqFdYL4uIgyhHs+/C\nukfn/sjSDSD+kXLTjM0oK75nU+4M/n3KUfybUI6Qb1G1fSbTt0i5acbXI+JblO/e3ar36qOx/5GZ\nEzlSn5kZEUcDf1u9dDPgO1UfnEe5PtmOwK0oB9POHXFSzSPXdRDvTfnFxN2ALZnO0eR1ZObJEfFp\nlm6WsgFwdES8Ajib0t93ptzl/gMDNvs+4PksHXXeFTg7Ir5Nma+7sO5NZd7QcufyUXwTeGaj/bdF\nxCGUUwjvQfspmk0jbYRk5u8j4iJKXwHsGhFnUu7evgj8W2Z+sWO0t1T11jf7qfvk6MbdzIdW1XIO\nS9fi2x74WVXPzpSj+NfiKW7SpJi3QzJvzVvMW0nDM2+HZN6at5i3mgP+El0rxbeBUyhH5Q5g3Q2M\nK4DHZebvATLzZ8CDgAtZukHDVsB9KXf1vhfr3pyl26lwCwy+4uo3bP3ee4C/APcB7glsyLo3ZXlu\n17FHn/6zKYG62Ph3J0oQH0Dpy3r6o95Z+jSuf7fuPYD7U/r4sEZ90w6CRwOfYN353aGqZX/KMjCw\nzLyyGvcHjfY2p9yhvN7AoHp8W2a+bsS6u/XNR4DTG883oJwCt3/19ysb47T1a7/+7vWZHFM91hsM\nd6LcIf4gyobpOjLzXOBjHe1dAxzdp4ZBvKhqq+7vvwIeTDkV8ZPA13AjQ5ok83b46Zu35u2w062Z\nt9L6y7wdfvrmrXk77HRr5q0mwp3oWikuowTjSyl3/L4cuIgScPfIzBOaA1fhdxvghZRTkH4LXEkJ\n+QsoGyyvq8Y9rmNaix3/ehlm2G8Cu1GuZXYhZePoF8Drgftk5h/7tD/U9DPz6sx8CmWj5n2UI9aX\nUDaq/kS5kce/A09l6VcDw0y79ijgZcBPKH38f8Bngb2A/+5V45DT6SkzL8/MR1CC+EOUG8D8mdLP\nv6F85q8YZvrVLyf2AJ4OnED53K4ELq3aPxa4V2a+sKWskT6/6hqH+wJvpFyH7krgd8B/VfV8rW3c\nAafdb9zDgZcDP6Z81wb5fN7c0f5nM/PXfcbpKzM/RdmwO4my/F5G2fB7EfAIypH6iSxDkgDz1rzt\nw7wdatrmraQ25u2Q0zdvzdsB3zNvNTULi4t+Jpo/EbEDZeVaL6Bfzsx9Z1jS0CLiVcCrqqeLwFMy\nc9ybgUhzKSIeBHy6eroI3D8zT5xhSZIGYN5KK4t5K61M5q20spi36sZrokuSRhIR96ScProN8JTG\nW991A0OSpMkwbyVJmj7zVv24E13zzmtBSfPrAJZ+jVK7jKUb/khaOcxbaX6Zt9LqYd5K88u8VU/u\nRNc8W2z5eyVZqXXPVET8nHLTlEHsW10jULNRL+O/Bb4OvDozf9htwIjYCziZwb4X52bmrpMpUVIf\n5u16yrxdUcxbaeUzb9dT5u2KYt6qlddElzR3IuKXDLaRsUjZyPjKlEvSBETE3pSNjEGcm5m7TLMe\nSVrfmberk3krSfPFvF2dzNv1jzvRJUmSJEmSJElqscGsC5AkSZIkSZIkaV65E12SJEmSJEmSpBbu\nRJckSZIkSZIkqYU70SVJkiRJkiRJauFOdEmSJEmSJEmSWrgTXZIkSZIkSZKkFu5ElyRJkiRJkiSp\nhTvRJUmSJEmSJElq4U50SZIkSZIkSZJa/H9Cw4/SNilDNwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa7c9450a50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# inspect raw data - are results reasonable?\n",
    "sb.lmplot(data = df, x = 'peripheral_clonality_a', y = 'benefit', col='pd_l1', logistic=True, fit_reg=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{{{pval_clonality_pfs_interaction_ic2:0.0014}}}\n"
     ]
    }
   ],
   "source": [
    "coefdata = tcrclonality_by_pdl1['grp_coefs']\n",
    "pval = (1-np.mean(coefdata.loc[coefdata['group']=='IC2','value'] >= 0))\n",
    "print('{{{%s:%s}}}' % ('pval_clonality_pfs_interaction_ic2',\n",
    "                       paper.float_str(pval)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## try with horseshoe prior on beta coefs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "../utils/stan/pem_survival_model_randomwalk_alt.stan\n",
      "../utils/stan/pem_survival_model_varying_coefs2.stan\n",
      "../utils/stan/pem_survival_model_randomwalk_custom_coefs_missense_and_neoant_rates.stan\n",
      "../utils/stan/pem_survival_model_randomwalk_custom_coefs_expressed_missense_and_neoant_mutations.stan\n",
      "../utils/stan/logistic_model_by_group.stan\n",
      "../utils/stan/pem_survival_model_varying_coefs4.stan\n",
      "../utils/stan/pem_survival_model_randomwalk_bspline2.stan\n",
      "../utils/stan/pem_survival_model_randomwalk2.stan\n",
      "../utils/stan/pem_survival_model_randomwalk_tvc2.stan\n",
      "../utils/stan/pem_survival_model_randomwalk_bspline.stan\n",
      "../utils/stan/pem_survival_model_varying_coefs3.stan\n",
      "../utils/stan/pem_survival_model_randomwalk.stan\n",
      "../utils/stan/pem_survival_model_gamma.stan\n",
      "../utils/stan/pem_survival_model_randomwalk_bspline_est_xi.stan\n",
      "../utils/stan/pem_survival_model_unstructured_varcoef_hsprior.stan\n",
      "../utils/stan/pem_survival_model_unstructured_varcoef.stan\n",
      "../utils/stan/pem_survival_model_randomwalk_tvc.stan\n",
      "../utils/stan/logistic_model.stan\n",
      "../utils/stan/pem_survival_model_randomwalk_custom_coefs_rate_only.stan\n",
      "../utils/stan/pem_survival_model_randomwalk_bspline_est_xi2.stan\n"
     ]
    }
   ],
   "source": [
    "models = survivalstan.utils.read_files('../utils/stan')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "survstan_pfs_varcoef2 = functools.partial(\n",
    "    survivalstan.fit_stan_survival_model,\n",
    "    df = df_long_pfs,\n",
    "    model_code = models['pem_survival_model_unstructured_varcoef_hsprior.stan'],\n",
    "    timepoint_end_col = 'end_time',\n",
    "    event_col = 'end_failure',\n",
    "    sample_col = 'patient_id',\n",
    "    chains = 4,\n",
    "    iter = 10000,\n",
    "    FIT_FUN = stancache.cached_stan_fit,\n",
    "    grp_coef_type = 'vector-of-vectors',\n",
    "    seed = seed,\n",
    "    stan_data = {'nu': 1} \n",
    "    )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:stancache.stancache:Step 1: Get compiled model code, possibly from cache\n",
      "INFO:stancache.stancache:StanModel: cache_filename set to anon_model.cython_0_25_2.model_code_6577752496410395669.pystan_2_14_0_0.stanmodel.pkl\n",
      "INFO:stancache.stancache:StanModel: Starting execution\n",
      "INFO:pystan:COMPILING THE C++ CODE FOR MODEL anon_model_c3377bc1a36c09afabf5116838435a79 NOW.\n",
      "INFO:stancache.stancache:StanModel: Execution completed (0:01:04.083157 elapsed)\n",
      "INFO:stancache.stancache:StanModel: Saving results to cache\n",
      "INFO:stancache.stancache:Step 2: Get posterior draws from model, possibly from cache\n",
      "INFO:stancache.stancache:sampling: cache_filename set to anon_model.cython_0_25_2.model_code_6577752496410395669.pystan_2_14_0_0.stanfit.chains_4.data_22651645239.iter_10000.sample_file_17974228969897673448.seed_91038753.pkl\n",
      "INFO:stancache.stancache:sampling: Starting execution\n",
      "INFO:stancache.stancache:sampling: Execution completed (0:08:42.949475 elapsed)\n",
      "INFO:stancache.stancache:sampling: Saving results to cache\n"
     ]
    }
   ],
   "source": [
    "tcrclonality_by_pdl12 = survstan_pfs_varcoef2(formula = 'log_peripheral_clonality_a_centered_by_pd_l1', \n",
    "                                              group_col = 'pd_l1',\n",
    "                                              sample_file = os.path.join(sample_file_dir, 'log_clonality_centered_X_pd_l1')\n",
    "                                              )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa7c60e1c90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#paper.hyper_figure_label_printer('hr_tcrclonality_by_pdl1_pfs')\n",
    "current_fig_size = plt.rcParams[\"figure.figsize\"]\n",
    "new_fig_size = [current_fig_size[0]*2, current_fig_size[1]]\n",
    "plt.rcParams[\"figure.figsize\"] = new_fig_size\n",
    "## plot\n",
    "sb.boxplot(data=tcrclonality_by_pdl12['grp_coefs'], x='exp(beta)', y='group', fliersize=0, whis=[2.5, 97.5])\n",
    "_ = plt.xlim([0, 30])\n",
    "_ = plt.vlines(1, -10, 10, linestyles='--')\n",
    "#_ = plt.title('Hazard associated with log(Peripheral clonality at timepoint A) \\n by level of intratumoral PD-L1 expression')\n",
    "_ = plt.xlabel('Hazard Ratio for {}'.format(cohort.benefit_plot_name))\n",
    "## revert width to original size\n",
    "plt.rcParams[\"figure.figsize\"] = current_fig_size"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{{{hr_clonality_pfs_hsprior_among_IC0:n=4, HR=1.53, 95% CI (0.61, 3.87)}}}\n",
      "{{{hr_clonality_pfs_hsprior_among_IC1:n=11, HR=0.84, 95% CI (0.18, 1.67)}}}\n",
      "{{{hr_clonality_pfs_hsprior_among_IC2:n=10, HR=111.55, 95% CI (2.45, 660.72)}}}\n"
     ]
    }
   ],
   "source": [
    "tcrclonality_by_pdl12['grp_coefs']['group_label'] = tcrclonality_by_pdl12['grp_coefs'].group.apply(\n",
    "    lambda x: 'hr_clonality_pfs_hsprior_among_{}'.format(x)\n",
    ")\n",
    "for (name, ic_class), group in tcrclonality_by_pdl12['grp_coefs'].groupby(['group_label','group']):\n",
    "    group_n = len(df.loc[df.pd_l1==ic_class,'pd_l1'])\n",
    "    paper.hyper_label_printer(formatter=paper.hr_posterior_formatter,\n",
    "                              label=name, n=group_n,\n",
    "                              series=group['exp(beta)'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{{{hr_clonality_pfs_hsprior_among_IC0_median:n=4, HR=1.23, 95% CI (0.61, 3.87)}}}\n",
      "{{{hr_clonality_pfs_hsprior_among_IC1_median:n=11, HR=0.88, 95% CI (0.18, 1.67)}}}\n",
      "{{{hr_clonality_pfs_hsprior_among_IC2_median:n=10, HR=31.66, 95% CI (2.45, 660.72)}}}\n"
     ]
    }
   ],
   "source": [
    "tcrclonality_by_pdl12['grp_coefs']['group_label'] = tcrclonality_by_pdl12['grp_coefs'].group.apply(\n",
    "    lambda x: 'hr_clonality_pfs_hsprior_among_{}_median'.format(x)\n",
    ")\n",
    "for (name, ic_class), group in tcrclonality_by_pdl12['grp_coefs'].groupby(['group_label','group']):\n",
    "    group_n = len(df.loc[df.pd_l1==ic_class,'pd_l1'])\n",
    "    paper.hyper_label_printer(formatter=paper.hr_posterior_formatter,\n",
    "                              label=name, n=group_n,\n",
    "                              summary='median',\n",
    "                              series=group['exp(beta)'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{{{hr_clonality_pfs_hsprior_among_IC0_median:n=4, HR (mean)=1.53, HR (median)=1.23, 95% CI (0.61, 3.87), p(HR>1)=0.24}}}\n",
      "{{{hr_clonality_pfs_hsprior_among_IC1_median:n=11, HR (mean)=0.84, HR (median)=0.88, 95% CI (0.18, 1.67), p(HR<1)=0.38}}}\n",
      "{{{hr_clonality_pfs_hsprior_among_IC2_median:n=10, HR (mean)=111.55, HR (median)=31.66, 95% CI (2.45, 660.72), p(HR>1)=0.0034}}}\n"
     ]
    }
   ],
   "source": [
    "tcrclonality_by_pdl12['grp_coefs']['group_label'] = tcrclonality_by_pdl12['grp_coefs'].group.apply(\n",
    "    lambda x: 'hr_clonality_pfs_hsprior_among_{}_median'.format(x)\n",
    ")\n",
    "for (name, ic_class), group in tcrclonality_by_pdl12['grp_coefs'].groupby(['group_label','group']):\n",
    "    group_n = len(df.loc[df.pd_l1==ic_class,'pd_l1'])\n",
    "    paper.hyper_label_printer(formatter=paper.hr_posterior_formatter,\n",
    "                              label=name, n=group_n,\n",
    "                              summary=['mean','median'],\n",
    "                              series=group['exp(beta)'], include_p=True, p_compare=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "## Analysis of correlation with OS, instead of PFS"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:stancache.stancache:Step 1: Get compiled model code, possibly from cache\n",
      "INFO:stancache.stancache:StanModel: cache_filename set to anon_model.cython_0_25_2.model_code_9571340839314917516.pystan_2_14_0_0.stanmodel.pkl\n",
      "INFO:stancache.stancache:StanModel: Loading result from cache\n",
      "INFO:stancache.stancache:Step 2: Get posterior draws from model, possibly from cache\n",
      "INFO:stancache.stancache:sampling: cache_filename set to anon_model.cython_0_25_2.model_code_9571340839314917516.pystan_2_14_0_0.stanfit.chains_4.control_81717217759.data_59239852941.iter_10000.seed_91038753.pkl\n",
      "INFO:stancache.stancache:sampling: Starting execution\n",
      "INFO:stancache.stancache:sampling: Execution completed (0:03:05.308877 elapsed)\n",
      "INFO:stancache.stancache:sampling: Saving results to cache\n"
     ]
    }
   ],
   "source": [
    "tcrclonality_by_pdl1_os = survstan_os_varcoef(\n",
    "    formula = 'log_peripheral_clonality_a_centered_by_pd_l1', \n",
    "    group_col = 'pd_l1',\n",
    "    )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:survivalstan.utils:Warning - 17 rows removed due to NaN values for Rhat. This may indicate a problem in your model estimation.\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nrkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa7c600f190>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "survivalstan.utils.plot_stan_summary([tcrclonality_by_pdl1_os], metric='Rhat')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{{{tcrclonality_by_pdl1_os}}}\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nfFG1Nsl/TvL7SV5YSjml1vrloRYI81RKeWyS/5bk+0l+e8jlwILp/He813iSK9PcxvyTaf67fl6S\npy50LYtpJr77LfbKGdrs13mcaaVMaCPjn9YrpZyfZEOa68ueX2u9ZVIT45zWq7U+WGv911rreUle\nmOTAJH9RStmn08Q4p23OT/L4JL/duevCbBjnLDbv6jweV0o5tPN8wcb5YgrxmzqPh8/Q5vA01zFs\nmqENtNGmzuMBnYVlpnL4pLawxyilnJtmBmcsyUm11m9M0WxT59E4Z1GotV6b5Ftpxm33DjubOo/G\nOW1xSpo7LbyhlHJV70+SX+y0eXVnW3eF7k2dR+OcxeLbPc8P6zxu6jwOfJwvphDfvR3R6lLKumna\ndP8Hef1uqAd2p5rkns7zp03T5mlpvsQy/tmjlFL+OM1KxnekCfA3TNPUOGcx6l4reXDn0TinbSbS\nXKL73Cl+uuN6Xef1z3ZeG+csNqt7nndn4BdsnC+aEF9rvTXJdZ2XL528v5TynDTfdNyX5HO7sTRY\ncLXW+5N8Ns3qmFON/3VJntV5+cndWBrMqJTy3iRvSRPgn19rnfZ/YsY5i00p5SeSHNd5+Z3EOKd9\naq2raq3LpvpJ8vFOs9/vbHtC5xjjnMXmJZ3HH6cJ7ws6zhdNiO84O80v6axSyo577ZVSVif5cJpv\nOT44aRVYWCzem2aM/0Yp5QXdjaWUFWkWnHlUktFa63eGVB88TCnlj5K8NTtn4GfzLbRxTmuUUp5Y\nSnlpz/XuvfuOSXJFkn2SfLXW+s89u41zlgLjnNYopRxXSnlxZ3HS3u0jpZRXJXlPmvF8fq31wZ4m\nCzLORyYmJub5UfZMpZQPJDkjzbU5V6Y5Te15aW5X9OU0fyjeN7wKob/Ol1AXpvmXPkmekOQnkmxN\ncmtP01Nqrd/vOe53kvy/nZd/n+QHSU5IckiSm5KcUGsdW9jqob9SyouTfCrNGP96muuCp/LDWuvv\nTjrWOKcVSik/l+SqNH+L3JDmv+F7p1md/qlpJh6+leSFtdatk441zmm9UsrHkpye5J211rOn2G+c\n0wqllP+cZrb8jjSnvn8/yQFpbje3Ns3fM5cmOb3W+tCkYwc+zhddiE+SUsqpSd6Q5GeSLE9yS5I/\nT3Ke2xXRBp0//L7Yp9lEkp+stW6ZdOyJSd6c5rqzlUm2pJnteW+tdab7VMJuU0o5PcnFs2i6qXv6\n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\n+5Oe7cuTXFRKGcR10ZMN/HZjtdb5LMDXT+9sfHdGfPIt56Yz+TPu6u3oBvH53pXmWvpuYL8/ydVJ\nPpnkr9Jcp95b91BuC1dr/d9JrszO2fjXdhYJ7F73P5HkT4dRGwB7LiEegCWl1npbrfVtaQJdN7Du\nldmdOj5XP0xzG7muvUspR/c2KKXsn523kEunnk0LUMtMPt15z26YvSsPv657Jv+ah4fg/zBFm8kr\nwP/rDP3NtAL7bL8geE4efgnDs2qtz621nlprPS3NLe8Wyly/xOidjX98kkvT/H3WXR/g4sGVBsBi\nIMQDsFS9Nc310UkTmJ5ZSvnFQb5B51r1z2XnlwVJ8t5Syt7Jjmvm35tk757Drqm13j7IOmZR50Np\nFlr7YefnI7XWu2c+aofu9evd0PyWUsqa7s7ObfN+Njs///Y0s8/zsX3S60Onabd8uuNKKc/MzhXw\nF8Jsa0yS1Fr/Ls0lCDu+cOg8TiT55FzvYw/A4md1egDabl5hrNZ6Synlz5O8sqePP0gy6OuP/yDJ\nyWmuN0+S/5LkX0opk28x172V2O8N+P1npdb6wcz+FPpeF6e5VVp3scCjk3y7lNK9xdzx2RnwJ5Kc\nswuLCG5MM1PfPf38+aWUryS5tbP/7FrrDUm+loff8u5rpZQvJ3lsmnvEL6Sbep6PJNnQOfui+8XM\n/1VrvXXSMX+S5JLO894zCC5asCoBaC0z8QDsieZyjXK/tiMztPmjJA/0tHlaKeXkObx33xpqrd9O\nckqaENe9zvnxae69/pM92+5Jcnqt9X/Npf9B1jqf4zor7f9ikm9k52d5bJoF5boBPp3HC2qts76V\n3xTvdWeaa9p7/cc0dx34r0m6ZwD8YZozCrp179ep8ZlJ/iXNau+zGTdz3l9r/WaSa3s2LUvy8z01\nTrWI3mVJJt9C7ju11i/1qQGAJUiIB2BPM5fbyPVrM2NftdZ/SbPKfe/+d82z3mnVWr+Q5jZmv5/k\nq0nG0lzv/KMk1yd5X5In1lovncXn2BXzvUXfjDXUWjcneXqSV6c5k2FbmtvmjaeZPf9YmuvSz5xr\n31P4jTSrzt+c5L6pjq21burUc2mS2zq1bEqz7sHTO9tmer9+v6d+tZ6c5P9Lc9eB+/v0lc697C/I\nzi+TJuK2cgBMY2RiYqEuCQMAYDZKKe9P8ubOy3uSHNY58wAAHsY18QAAQ1BKOS3JuiTHpDnDIGlm\n4S8S4AGYjhAPADAcv5nmnvBdE0m+k+TdQ6kGgFZwTTwAwPBMpFlccVOauwOcUGu9a6gVAbBHc008\nAAAAtISZeAAAAGgJIR4AAABaQogHAACAlhDiAQAAoCWEeAAAAGgJIR4AAABaQogHAACAlhDiAQAA\noCX+DwBAmh6fhhOoAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa7c7383510>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "## capture current figure size\n",
    "paper.hyper_figure_label_printer('tcrclonality_by_pdl1_os')\n",
    "## make this plot much wider than usual\n",
    "current_fig_size = plt.rcParams[\"figure.figsize\"]\n",
    "new_fig_size = [current_fig_size[0]*2, current_fig_size[1]]\n",
    "plt.rcParams[\"figure.figsize\"] = new_fig_size\n",
    "## plot\n",
    "sb.boxplot(data=tcrclonality_by_pdl1_os['grp_coefs'], x='exp(beta)', y='group', fliersize=0, whis=[2.5, 97.5])\n",
    "_ = plt.xlim([0, 50])\n",
    "_ = plt.ylabel('')\n",
    "_ = plt.vlines(1, -10, 10, linestyles='--')\n",
    "#_ = plt.title('Hazard associated with log(Peripheral clonality at timepoint A) \\n by level of intratumoral PD-L1 expression')\n",
    "_ = plt.xlabel('HR for {}'.format(cohort.hazard_os_plot_name))\n",
    "## revert width to original size\n",
    "plt.rcParams[\"figure.figsize\"] = current_fig_size"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{{{tcrclonality_by_pdl1_os_split}}}\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nrB+P689+RURE6oWSljpyz+rVPLx69YAe+8c1a6ocjYiISH1R95CINJxtt9027xBEpAbU0pKj8ePH\nM2vWrEHto6OjA4Dm5uZqhLSe8ePH12S/IrVy/vnnY2Z5hyEiNaCkJUfNzc36chWpsj322CPvEESk\nRtQ9JCIiIoWgpEVEREQKQUmLiIiIFIKSFhERESkEJS0iIiJSCEpaREREpBCUtORs/vz5TJ48mcmT\nJzN//vy8wxEREalbSlpy1tbWRmtrK62trbS1teUdjoiISN1S0iIiIiKFoKRFRERECkFJi4iIiBSC\nkhYREREpBCUtIiIiUghKWkRERKQQhucdwMZu9OjRHHPMMWuvi4iISGVKWnI2adIkbr755rzDEBER\nqXtKWmqgo6ODRYsWDehxAM3NzVWNZ/z48VXfp0i9cnd95kUalJKWGli0aBGnn3563mGsNX36dMws\n7zBEhsTpp5+uz7xIg9JAXBERESkEtbTU2Jav35fhm261we06X3qBFx+bA8AWr38TIzbdclDPu+ql\n53nhsfsHtQ8REZF6oqSlxoZvuhUjNx/Tr8eM2HTLfj9GRESk0al7SERERApBSYuIiIgUgrqHcvbM\n449yy9XnsdVWW3HAAQfkHY6IiEjdUkuLiIiIFIKSFhERESkEJS0iIiJSCEpaREREpBCUtIiIiEgh\nKGkRERGRQlDSIiIiIoWgOi0522LMqznkA6dQWv0yvLQk73BERETqllpacrbJppvzut32Y/vXvyHv\nUEREROqakhYREREpBCUtIiIiUghKWkRERKQQlLSIiIhIIShp6aa9vZ329va8w5BB0N9QRKQxKWnJ\naG9vZ8qUKUyZMkUHvYLS31AAOjo68g5BRGpASUvG4sWL156lL168eEie8+WXlvPPebN54rG/Dsnz\nNbo8/oZSf5555pm8QxCRGlDSkrMXlz7NnT/6Fn+6vTXvUEREROqakhYREREpBCUtIiIiUghKWkRE\nRKQQlLSIiIhIIShpERERkUJQ0iIiIiKFoKRFRERECmF43gFs7LbdYUdOvOCHrFy+lKXzbs87HBER\nkbqllhYREREphH63tJjZAmA88FF3/0GF+0cDnwIOB3YGRgMvA4uAe4Eb3f2ubo/ZKdl+7+RnF6AJ\nONvdL+xvjCIiItJ4BtI9VE5+1mNmxwFXAJsRicoc4AmgmUhgPg6caGY3ufsHMg89Cfhst/1WfA4R\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa7c616eb50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "paper.hyper_figure_label_printer('tcrclonality_by_pdl1_os_split')\n",
    "## plot side-by-side zoomed & unzoomed plots\n",
    "f, (ax1, ax2) = plt.subplots(1, 2, sharey=True)\n",
    "sb.boxplot(data=tcrclonality_by_pdl1_os['grp_coefs'],\n",
    "           x='exp(beta)',\n",
    "           y='group',\n",
    "           fliersize=0,\n",
    "           whis=[2.5, 97.5], \n",
    "           ax=ax1,\n",
    "          )\n",
    "ax1.set_xlim([0, 5.])\n",
    "ax1.set_ylabel('')\n",
    "ax1.spines['right'].set_visible(False)\n",
    "ax2.spines['left'].set_visible(False)\n",
    "#ax1.set_yticklabels([0,1,2],['','',''])\n",
    "#ax1.vlines(1, -10, 10, linestyles='--')\n",
    "#ax1.set_yticks([0])\n",
    "#ax1.get_yaxis().set_visible(False)\n",
    "\n",
    "sb.boxplot(data=tcrclonality_by_pdl1_os['grp_coefs'],\n",
    "           x='exp(beta)',\n",
    "           y='group',\n",
    "           fliersize=0,\n",
    "           whis=[2.5, 97.5],\n",
    "           ax=ax2,\n",
    "          )\n",
    "ax2.set_xlim([5.7, 1000])\n",
    "ax2.set_ylabel('')\n",
    "\n",
    "d = .015  # how big to make the diagonal lines in axes coordinates\n",
    "# arguments to pass plot, just so we don't keep repeating them\n",
    "kwargs = dict(transform=ax1.transAxes, color='k', clip_on=False)\n",
    "ax1.plot((1 - d, 1 + d), (-d, +d), **kwargs)  # bottom-right diagonal\n",
    "ax1.plot((1 - d, 1 + d), (1 - d, 1 + d), **kwargs)  # top-right diagonal\n",
    "\n",
    "kwargs.update(transform=ax2.transAxes)  # switch to the bottom axes\n",
    "ax2.plot((-d, +d), (1 - d, 1 + d), **kwargs)  # top-left diagonal\n",
    "ax2.plot((-d, +d), (-d, +d), **kwargs)  # bottom-left diagonal\n",
    "\n",
    "ax1.vlines(1, -10, 10, linestyles='--')\n",
    "ax1.set_xlabel('HR for {}'.format(cohort.hazard_os_plot_name))\n",
    "ax2.set_xlabel('')\n",
    "## rotate labels on x axis\n",
    "_ = plt.setp(ax1.get_xticklabels(), rotation=0)\n",
    "_ = plt.setp(ax2.get_xticklabels(), rotation=45)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python [conda env:newbladder2]",
   "language": "python",
   "name": "conda-env-newbladder2-py"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.13"
  },
  "name": "TCR Clonality.ipynb",
  "nav_menu": {},
  "toc": {
   "navigate_menu": true,
   "number_sections": true,
   "sideBar": true,
   "threshold": 6,
   "toc_cell": false,
   "toc_section_display": "block",
   "toc_window_display": true
  },
  "toc_position": {
   "height": "877px",
   "left": "0px",
   "right": "2073px",
   "top": "106px",
   "width": "538px"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
